0

MySQL データベースのテーブルからある種のトップ 10 リストを取得したいと考えています。これが例です。このテーブルがあるとしましょう:

ID  Username    Town
 1  foo         Munich
 2  bar         Kolding
 3  herp        Bordeaux
 4  derp        Bordeaux
 5  test        Cologne
 6  bla         Munich
 7  blob        Bordeaux

そして今、次のように、「町」で最も一般的なエントリを取得したいと思います。

Bordeaux  3
Munich    2
Cologne   1
Kolding   1

どのようなクエリでそれを行うことができますか?

4

3 に答える 3

2
SELECT Town, COUNT(*) AS cnt FROM my_table GROUP BY Town ORDER BY cnt DESC LIMIT 10
于 2012-05-21T07:49:30.323 に答える
0

これを試して -

SELECT town,
       count(*)
FROM tablename
GROUP BY town;
于 2012-05-21T07:50:20.037 に答える
0

これはどう。

SELECT Town, Count(1) as TownCount 
FROM myTable 
GROUP BY Town
ORDER BY TownCount DESC;

10 レコードのみが必要な場合は、

SELECT Town, Count(1) as TownCount 
FROM myTable 
GROUP BY Town
ORDER BY TownCount DESC
LIMIT 10;
于 2012-05-21T07:52:09.563 に答える