【发布时间】:2014-01-01 04:31:57
【问题描述】:
我正在尝试解决每个具有 max seq_no 记录的问题,但它返回的数据错误。
这里是查询:
SELECT id, attempt, seq_number, question
FROM question_states
WHERE attempt = 374
AND seq_number IN ( SELECT MAX(seq_number) FROM question_states WHERE attempt = 374 GROUP BY question)
GROUP BY question, id
我有一个表名作为问题,结构如下:-
id--seq_number--attempt--question
1 --0 --374 -- 130
2 --0 --374 -- 130
3 --1 --374 -- 130
4 --2 --374 -- 130
5 --1 --374 -- 131
为什么此查询针对问题 130 返回 2 条记录?如果我删除 GROUP BY id 然后返回错误的数据。
【问题讨论】:
-
查看类似问题
-
是的,我看了很多问题 - 但没有结果。
-
我猜是因为“id”不同
-
但它有第一组问题!
-
您是否检查过这部分查询是否给了您预期的结果。 "SELECT MAX(seq_number) FROM question_states WHERE attempt = 374 GROUP BY question"
标签: mysql sql select group-by groupwise-maximum