MySQL如果一行出现两次只显示一次,但如果它出现n次(不能是两次),那么显示它的名字n次?

时间:2017-01-02 12:11:44

标签: mysql

例如:

数据库:

  • 汤姆
  • 大卫
  • 汤姆
  • 乔治
  • 大卫
  • 大卫

在mysql命令之后会出现这些结果:

  • 汤姆
  • 大卫
  • 乔治
  • 大卫
  • 大卫

感谢您的耐心等待。

1 个答案:

答案 0 :(得分:1)

您可以使用聚合和UNION ALL这样:

SELECT name FROM t GROUP BY name HAVING COUNT(*) <= 2
UNION ALL
SELECT name
FROM t
WHERE name NOT IN
  ( SELECT name FROM t GROUP BY name HAVING COUNT(*) <= 2
  );