我正在开发测验应用程序。我的一张桌子attempts
是:
id qid answer
-- --- ------
1 42 hello
2 7 magic
3 42 ni hao
4 42 ciao
5 1 foo
6 42 ohayo
我需要关于第 42 号问题 ( ) 的最新答案qid=42
,以及关于这个问题的尝试次数。我试过了:
SELECT answer, count(*) FROM attempts WHERE qid=42 ORDER BY id DESC;
然后我才意识到ORDER BY
执行之后count(*)
,所以我的查询在这里给出了第一次尝试的答案,而不是最新的。
我的解决方法是将其拆分为 2 个查询:
SELECT answer FROM attempts WHERE qid=42 ORDER BY id DESC LIMIT 1;
SELECT count(*) FROM attempts WHERE qid=42;
我想知道这是否可以合并为 1 个查询?