mysql - 如何检查每个日期-mysql中是否存在另一列的值?
问题描述
我有一张桌子:
date id count(sub_id)
2016-03-01 2 1
2016-03-02 650 1
2016-03-03 2 1
2016-03-04 2697 2
2016-03-05 2 4
2016-03-06 2697 3
2016-03-07 1000 2
2016-03-08 2 3
2016-03-09 2697 3
日期为 2016 年 3 月 1 日至 2016 年 3 月 15 日。
我需要检查每个日期都有什么 id - 从 3 月 1 日到 15 日。即用户每天提交的数据
到目前为止我有这个
select submission_date, id, count(submission_id)
from submissions
group by submission_date, id
having count(submission_id) >= 1
但这仅显示日期和用户以及他们每天提交的数量 - 例如 2。
解决方案
如果每个日期的不同日期数等于表中的不同日期数,则必须group by id
检查HAVING
子句:id
select id
from submissions
group by id
having count(distinct submission_date) = (select count(distinct submission_date) from submissions)
如果没有重复id
,submission_date
您可以更改为:
having count(submission_date) = (select count(distinct submission_date) from submissions)
如果也没有null
日期:
having count(*) = (select count(distinct submission_date) from submissions)
推荐阅读
- javascript - 如何在 React js 中创建排序动画
- python - AppSync 期望什么响应格式?
- python - 检查日期是在熊猫的上半月还是第二个月
- c++ - 创建类时,可能未在返回类型中定义新类型
- php - 需要带有客户端身份验证的 SSL:无法使用 cURL 设置私钥文件
- javascript - 上传图片后TinyMCE路径错误
- python - 错误:__init__() 采用 1 个位置参数,但给出了 7 个
- amazon-web-services - AWS Lightsail - 如何决定是否需要升级计划或使用负载均衡器
- spring - Spring Boot Json 响应被切断
- c++ - Qt 5 Qt3D QCircularBuffer 在哪里?