1

MySQLで次のことを実行しようとしています。

SELECT DISTINCT field
FROM table
WHERE COUNT(field) > 10

1111-グループ関数の無効な使用(私が理解していることからCOUNT、where句などのグループ関数を使用することはできませんか?)

少なくともN行に存在するすべてのフィールドを選択(区別)する適切な方法は何ですか?これは、たとえばPHPで外部的に行う必要があることですか?

ありがとう!

4

1 に答える 1

4

使用する:

SELECT DISTINCT field
  FROM table
HAVING COUNT(field) > 10

WHERE句内のサブクエリの外部で集計関数を使用することはできません。HAVINGそのため、この句を使用する必要があります。また、 null以外の値をカウントすることにも注意してCOUNTください...

GROUP BY理想的には、句もあるべきです。しかし、MySQLはそれについてかなり緩いです

すべての列を比較するには

...これらすべての列GROUP BYをリストする句を追加する必要があります。この場合、省略形はありません。次に、句をに変更します。HAVINGCOUNT(*) > 10

于 2010-10-01T23:58:01.760 に答える