MySQL 如果一行出现两次只显示一次,但如果它出现 n 次(不能是两次),则显示其名称 n 次

  • 本文关键字:显示 两次 如果 不能 一行 MySQL 一次 mysql
  • 更新时间 :
  • 英文 :


例如:

数据库:

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

在MySQL命令之后,这些将作为结果出现:

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

感谢您的耐心等待。

您可以使用聚合和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
  );

最新更新