我想问一个关于我觉得很难完成的查询的问题,至少对我来说是这样。我需要下面表格的行(用红色矩形标记),这些行有min(date)
while 表格有不同的 user id
' quiz id
s。
如果有人可以帮助我,我会很高兴!
提前致谢!
这是一张桌子上的照片
select t1.* from sometable t1
where t1.EndDate = (select min(t2.EndDate) from sometable t2)
您应该能够进行简单的查询,例如:
select * from your_table_name where EndDate = (select min(EndDate) from your_table_name)
试试这个 sql。如果您有多个用户进行多个考试,此 sql 将有所帮助。
MySQL 5.5.30 架构设置:
create table test(
userid int,
enddate datetime,
quizid int);
insert into test
values(823,'2013-02-06 14:23:05',5);
insert into test
values(823,'2013-02-06 14:23:05',5);
insert into test
values(823,'2013-02-06 14:23:05',5);
insert into test
values(824,'2013-02-06 14:23:08',5);
insert into test
values(824,'2013-02-06 14:23:10',5);
查询 1:
select DISTINCT userid,quizid,enddate
from test
where enddate IN(
select min(enddate)
from test
group by userId,quizId
)
结果:
| USERID | QUIZID | ENDDATE |
-----------------------------------------------------
| 823 | 5 | February, 06 2013 14:23:05+0000 |
| 824 | 5 | February, 06 2013 14:23:08+0000 |