在列中找到重复N次的值

时间:2015-03-24 08:24:27

标签: sql sqlite

如何在SQL列中找到重复N次的值?例如,假设我有一个值为fanta, sprite, sprite, sprite, cola, cola, cola, cabbages, cabbages, cabbages, cabbages的列,我想找到重复3次的值,这些值应该返回spritecola,但不是fantacabbages,因为它们不会重复3次。

我尝试调整Find most frequent value in SQL column中的SQL:

SELECT value1, COUNT(value1) AS value1_count
FROM table1
GROUP BY value1
WHERE value1_count=3

但这给了我near "WHERE": syntax error:,显然我做得不对。

编辑: Finding duplicate values in a SQL table被建议完全重复,但它是关于查找所有重复的值,无论重复多少次,但我承认那里的答案明显如何在我的案例中找到解决方案,所以我不知道。

3 个答案:

答案 0 :(得分:2)

您可以使用Group by + Having clause

SELECT value1, COUNT(value1) AS value1_count
FROM table1
GROUP BY value1
HAVING COUNT(*) = 3

DEMO

答案 1 :(得分:2)

要在GROUP BY上应用条件,请使用HAVING

试试这个:

SELECT value1, COUNT(value1) AS value1_count FROM table1
GROUP BY value1
HAVING COUNT(value1) = 3

答案 2 :(得分:-1)

您必须将HAVING子句与聚合函数一起使用。以下是示例

<强> SQL FIDDLE