我刚刚问了这个问题Find the old record in a join between two tables并得到了我的问题的一个很好的答案。问题是这不是我想要的(我的错)
考虑以下 MySQL 表
Table: Questions
ID
Table: Results
ID
Created - When this record was added.
Q_ID - A FK to the Question table
示例数据
Table: Questions
ID
----
1
8
15
55
Table: Results
ID | Created | Q_ID
--------------------
1 | 12:02 | 1
2 | 12:03 | 15
3 | 12:04 | 8
使用以下查询,它将返回所有没有与之关联的结果的记录,如果所有记录都有结果,那么它将返回具有最旧结果的问题。
SELECT *
FROM
questions
LEFT JOIN results
ON results.q_id = questions.id
ORDER BY
ISNULL(results.id) DESC, results.created ASC
LIMIT 1
我实际上正在寻找的是任何尚未回答的问题,然后将问题排序为我回答了多少次。回答最少的问题应该在顶部。