首页 > 解决方案 > 同一日期重复用户

问题描述

我有一个有折扣的用户列表。我需要找到在同一日期有重复折扣的用户。我能够在列表中找到重复的用户,但我不知道如何检查日期是否重叠。

如何解决这个问题?

SELECT user, COUNT (*)
FROM discounts
GROUP BY user
HAVING COUNT (*) > 1
order by user

标签: sql

解决方案


您必须将日期添加到 group by 子句
试试这个

SELECT user, your_date_column, COUNT (*)
FROM discounts
GROUP BY user, your_date_column
HAVING COUNT (*) > 1
order by user

现在,对于每个日期的每个用户,如果用户有两个或更多折扣,则结果将显示在结果中。请注意,如果您的日期列有时间,您也必须仅将其转换为日期。例如,在 SQL-Server 中,在 group by 子句中使用 CAST(your_dateTime_column as DATE)。


推荐阅读