sql - 同一日期重复用户
问题描述
我有一个有折扣的用户列表。我需要找到在同一日期有重复折扣的用户。我能够在列表中找到重复的用户,但我不知道如何检查日期是否重叠。
如何解决这个问题?
SELECT user, COUNT (*)
FROM discounts
GROUP BY user
HAVING COUNT (*) > 1
order by user
解决方案
您必须将日期添加到 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)。
推荐阅读
- laravel - 部署中的 Laravel 和 vue js
- linux - 如何使用 awk 从多个文件中搜索字符串?
- python - PYTHON Pandas:在两个数据框中用字符串求和
- sql - 缺少的括号在哪里?
- recursion - 有人能解释一下这个递归吗?谢谢
- reactjs - 警告:React 无法识别 DOM 元素上的 `secondaryFill` 属性
- python - 在我的 Pycharm CE 中找不到探查器选项
- reactjs - 如何调用路由路径 2,3,后跟 5,6,如果是 5,6,我应该重定向到另一个页面
- coq - 如何找到两个值之间的相等关系
- javascript - 将文本添加到 MapBox 标记