stevebot stevebot - 5 months ago 12
MySQL Question

Select where count of one field is greater than one

I want to do something like:

SELECT *
FROM db.table
WHERE COUNT(someField) > 1


how do I do this in MySql.

Answer

Use the HAVING, not WHERE clause, for aggregate result comparison.

Taking the query at face value:

SELECT * 
  FROM db.table 
HAVING COUNT(someField) > 1

Ideally, there should be a GROUP BY defined for proper valuation in the HAVING clause, but MySQL does allow hidden columns from the GROUP BY...

Is this in preparation for a unique constraint on someField? Looks like it should be...

Comments