2010-12-15 1 views
1

適切なmysql関数を見つけることができませんが、他のすべてのレコードに対してデータベース内に単一のレコードが表示される最大回数を見つけようとしています。例えばデータベーステーブルに最大レコード数が表示されます

ID | .... 
================ 
    1 | .... 
    2 | .... 
    2 | .... 
    2 | .... 
    3 | .... 
    3 | .... 

私が達成しようとしていますどのようなクエリのための理想的なリターンは3である(1のカウントが1、2のカウントは3で、3のカウントは2であるので、最大カウントを返しますANYのID)。

答えて

3

直接ネストすることはできません。そうでない場合、グループ化された最大値を取得します。選択肢を入れ子にします。

select max(c) from (
    select 
    count(*) c 
    group by 
    .. whatever ... 
) x 
+0

'COUNT(*)は、' 'id'は、ID番号の数に等しい行数を戻しますでグループ化されました。最大値はあなたに最大のものを与えます。あなたは何を望んでいますか? – Donnie

+0

私が言ったことを忘れて、私の馬鹿は私の実際のクエリに間違ったフィールド名を持っていた。ありがとう! – JM4

1
SELECT MAX(MAX_COUNT) FROM (SELECT COUNT(COLUMN_NAME) AS MAX_COUNT FROM TABLE_NAME GROUP BY COLUMN_NAME)