我在桌面上使用MySQL 8.0CE和MySQL Server 5.0。
当我使用group by结果无法保留重复记录时,我需要参考。
我该如何处理?

例如,我在表Scheduler中有几个日期:

 sDate:
    10/1/2018
    10/1/2018
    10/2/2018
    10/2/2018
    10/3/2018
    10/3/2018


当我执行以下语句时:

SELECT S.sDate
FROM Scheduler S
GROUP BY S.sDate
HAVING COUNT(*)>1


我应该在表sDate中得到完全相同的结果。但是,我得到这个:

10/1/2018
10/2/2018
10/3/2018


消除重复的地方,我不知道该怎么办。

最佳答案

实际上,您使用以下查询:

select S.sDate from Scheduler S group by S.sDate having COUNT(*)>1


此查询指出,您需要在表Scheduler中显示所有计数大于1的sDate,并且在表数据中所有三个日期都有重复的条目。

如果要在查询结果中保留重复项,请使用以下查询:

select S.sDate from Scheduler S group by S.sDate having COUNT(*)>= 1


希望它清除您的疑问!

关于mysql - 分组依据无法保留重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52705727/

10-11 14:07