14

SPARQL では、以下の構文を使用して列ごとに行をグループ化できます。

GROUP BY ?colName

複数の列でグループ化できますか? 例:

GROUP BY (?colName1 + ?colName2 + ?colName3) 

次のようなクエリがあるとします。

Select ?a ?b ?c (MIN(?y) AS ?d)
Where {
....
}
GROUP BY (?a + ?b + ?c)

しかし、このクエリは機能しません。

4

3 に答える 3

8

GROUP BY間にスペースを入れてリストすることにより、(列ではなく)複数の変数を作成できます。

GROUP BY ?a ?b ?c
于 2013-01-23T14:19:21.500 に答える
6

Ben Companjenの答えに加えて

GROUP BY ?a ?b ?c

明示的に言わないと不確定な非グループ キーを渡すことができないため、SELECT 行を修正する必要があります。

SELECT (sample(?a) as ?A) (sample(?b) as ?B) (sample(?c) as ?C) (min(?y) as ?d)
于 2013-01-23T15:08:18.697 に答える
-5

次のようなことを試しましたか

SELECT ?a+b+?c, (MIN(?y) AS ?d) where { .... } GROUP BY (?a+?b+?c)

これはSQL Serverでうまく機能します

于 2013-01-23T11:17:56.457 に答える