web-dev-qa-db-ja.com

SQLiteのカウント、グループ、およびカウント順

次のような表があります。

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スクリプトの一部として必要としています。ありがとうございます。

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

Group byステートメントは、集計関数に結果セットを列でグループ化するよう指示します。この場合、「bar by group」は、バーの異なる「タイプ」でグループ化された、バー列のフィールドの数を数えます。

より良い説明はこちらです: http://www.w3schools.com/sql/sql_groupby.asp

44