Mysql查询,查找每天至少提交1次的黑客

Mysql查询,查找每天至少提交1次的黑客,mysql,Mysql,我想找到所有每天至少提交1份申请的黑客 表看起来像:id,date 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. 因为我整天都在提交 我尝试的是: Select id from table group by id having count(*)=3 /* Since number of days are 3 */ 然而,这是不正确的,因为黑客可以

我想找到所有每天至少提交1份申请的黑客

表看起来像:id,date

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. 因为我整天都在提交

我尝试的是:

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
这个问题解决后,原来的问题是:


写一个查询以打印每天至少提交的唯一黑客总数(从竞赛的第一天开始),并查找每天提交最多数量的黑客id和姓名。如果一个以上的黑客提交最多,请打印最低的黑客id。查询应打印比赛每天的这些信息,并按日期排序

select id
from t
group by id
having count(distinct date) = (select count(distinct date) from t);

我想这样说:

select id
from t
group by id
having count(distinct date) = (select count(distinct date) from t);

我相信如果你同时按
id
date
进行分组,你会得到你想要的东西。i、 e:

SELECT id
FROM table 
GROUP BY id, `date`
HAVING COUNT(*) = 3 /* Since number of days are 3 */

请注意,这是假设您根据其他地方的某个日期范围获得天数(本例中为3天)。

我相信如果您同时按
id
日期进行分组,您将得到您想要的。i、 e:

SELECT id
FROM table 
GROUP BY id, `date`
HAVING COUNT(*) = 3 /* Since number of days are 3 */

请注意,这假设您是根据其他地方的某个日期范围获得天数(本例中为3天)。

或者,您能想出一个查询来查找所有没有每天提交的黑客吗?你想要的结果与此相反。或者,你能想出一个查询来查找所有没有每天提交的黑客吗?你想要的结果与此相反。写一个查询,打印每天至少提交的唯一黑客总数(从竞赛的第一天开始),并找到每天提交最多数量的黑客id和姓名。如果超过一个这样的黑客提交的最多,请打印最低的黑客id。查询应打印比赛每天的这些信息,按日期排序。在同一查询中不能返回“唯一黑客的总数”和“查找黑客id和名称”——对我来说,这似乎是两个不同的查询。话虽如此,为了实现你的第二个请求,你必须加入一个子选择。假设您没有太多的行,另一种方法是根据上述查询返回所有符合条件的行,即将
COUNT(*)作为total
添加到select,并在末尾按total DESC、id ASC排序,然后让应用程序逻辑为每个日期取第一行。你应该尝试两种方法,然后再问另一个问题。我这里没有足够的空间。很明显,现在不行了。请使用下面的@Gordon Linoff answer now.@Krish it works-例如,使用问题中的数据,请参阅编写查询以打印每天至少提交的唯一黑客总数(从竞赛的第一天开始),并查找每天提交最多数量的黑客id和姓名。如果超过一个这样的黑客提交的最多,请打印最低的黑客id。查询应打印比赛每天的这些信息,按日期排序。在同一查询中不能返回“唯一黑客的总数”和“查找黑客id和名称”——对我来说,这似乎是两个不同的查询。话虽如此,为了实现你的第二个请求,你必须加入一个子选择。假设您没有太多的行,另一种方法是根据上述查询返回所有符合条件的行,即将
COUNT(*)作为total
添加到select,并在末尾按total DESC、id ASC排序,然后让应用程序逻辑为每个日期取第一行。你应该尝试两种方法,然后再问另一个问题。我这里没有足够的空间。很明显,现在不行了。请使用下面的@Gordon Linoff answer now.@Krish它有效-有关使用问题数据的示例,请参阅