46

次のようなテーブルがあります。

FOO  BAR  BAZ
----+----+----
foo1 bar1 baz1
foo2 bar3 baz2
foo3 bar1 baz3
foo4 bar1 baz4
foo5 bar3 baz5
foo6 bar1 baz6
foo7 bar2 baz7

その結果、各バーがテーブルに表示された回数を取得したいと思います。したがって、探している出力は次のようになります。

BAR   COUNT
-----+-----
bar1    4
bar3    2
bar2    1

SQLite でこのようなクエリを実行できますか? とても簡単だと思いますが、私は決して SQL プログラマーではなく、Python スクリプトの一部としてこの単純なクエリが必要なだけです..ありがとう.

4

1 に答える 1

63
SELECT foo, count(bar) FROM mytable GROUP BY bar ORDER BY count(bar) DESC;

group by ステートメントは、集計関数に結果セットを列ごとにグループ化するように指示します。この場合、「バーごとにグループ化」は、バーのさまざまな「タイプ」によってグループ化された、バー列のフィールド数をカウントすることを意味します。

より良い説明はここにあります: http://www.w3schools.com/sql/sql_groupby.asp

于 2011-07-19T09:17:22.333 に答える