我有两张桌子:
question(qid int,title varchar(100))
answer(aid int,qid int,vote int,content varchar(4096))
Qid 和aid 是主键。
每个问题都有一些答案,每个答案都有一个投票数。
现在采取一些问题qid,如果问题有一些答案,如何找到每个问题的最大(投票)答案?
前任:
mysql> select * from question;
+-----+-------+
| qid | title |
+-----+-------+
| 1 | abc |
| 2 | efg |
| 3 | hij |
| 4 | mn |
+-----+-------+
mysql> select * from answer;
+-----+------+------+---------+
| aid | qid | vote | content |
+-----+------+------+---------+
| 77 | 3 | 45 | mysql2 |
| 110 | 1 | 95 | good |
| 122 | 1 | 78 | bad |
| 123 | 1 | 34 | bad2 |
| 223 | 2 | 56 | book1 |
| 224 | 2 | 82 | book2 |
+-----+------+------+---------+
现在,给定 qid(1,2),我想找到以下结果:
+-----+------+------+---------+
| aid | qid | vote | content |
+-----+------+------+---------+
| 110 | 1 | 95 | good |
| 224 | 2 | 82 | book2 |
+-----+------+------+---------+
我想要完整的答案记录(包含所有列),而不仅仅是 max(vote) 列。
我只想为每个问题显示最佳答案(最大投票答案)。
MySQL 中最好的 SQL 是什么?
谢谢!
2013/1/7 更新:
如果存在,我想展示唯一一个最好answer
的(最大投票答案)。@Brian Hoover 的答案仅在 MySQL 下工作正常。
也许没有一个 SQL 在所有数据库下都能正常工作。