【发布时间】:2016-10-28 09:14:55
【问题描述】:
我想找出每天提交至少 1 次的所有黑客。
表格看起来像:id、日期。
1, 2016-01-01
2, 2016-01-01
3, 2016-01-01
1, 2016-01-02
2, 2016-01-02
1, 2016-01-03
所以输出应该是: 1 由于1一整天都在提交。
我试过的是:
Select id from table
group by id
having count(*)=3 /* Since number of days are 3 */
但这是不正确的,因为黑客可以在一天内提交多次。 我的查询将失败的示例:
1, 2016-01-01
2, 2016-01-01
3, 2016-01-01
3, 2016-01-01
3, 2016-01-01
1, 2016-01-02
2, 2016-01-02
1, 2016-01-03
这个解决后,原来的问题是:
编写查询以打印每天至少提交的唯一黑客总数(从比赛的第一天开始),并找到每天提交最大数量的黑客的hacker_id 和名称。如果不止一个这样的黑客有提交的最大数量,打印最低的hacker_id。查询应打印比赛每一天的此信息,按日期排序
【问题讨论】:
-
或者,您能想出一个查询来查找所有没有每天提交的黑客吗?您想要的结果将与此相反。
标签: mysql