假设我有这样的数据:

ClaimID ClaimLine    Date
   1        1     22/06/2016
   1        1     01/01/2016
   2        1     08/06/2016
   2        2     31/01/2015
   3        1     23/03/2013

我将如何选择具有最低日期的重复 ClaimID 和 ClaimLine?

所以返回值将是
1,1,01/01/2016

最佳答案

您可以按要删除重复的列进行分组,然后从每个组中选择最小日期:

SELECT ClaimID, ClaimLine, MIN(Date)
FROM Table
GROUP BY ClaimID, ClaimLine
ORDER BY ClaimID, ClaimLine

如果您进一步只想查看已复制的 ClaimIDs 和 ClaimLines,您可以添加一个 HAVING 子句:
SELECT ClaimID, ClaimLine, MIN(Date)
FROM Table
GROUP BY ClaimID, ClaimLine
HAVING COUNT(*) > 1
ORDER BY ClaimID, ClaimLine

关于mysql - 选择多列的 Count() 大于 1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37972349/

10-09 22:45