我想返回排名前五位的投票數最多的項目,按投票計數排序。 我想最好的辦法是將每行的votes_up
和votes_down
相加,然後取其中的前5個並與另一個表加入。SQL SUM前5個值然後加入結果
這裏是我現有的表,Items.ID映射到Votes.item_ID:
Items
+----+--------+---------+
| ID | name | site_ID |
+----+--------+---------+
| 10 | box | 111 |
| 11 | hammer | 222 |
| 12 | drill | 333 |
| 13 | nail | 444 |
+----+--------+---------+
Votes
+----+---------+----------+------------+
| ID | item_ID | votes_up | votes_down |
+----+---------+----------+------------+
| 1 | 10 | 25 | 20 |
| 2 | 11 | 200 | 100 |
| 3 | 12 | 100 | 50 |
| 4 | 13 | 50 | 20 |
+----+---------+----------+------------+
這些都是結果,我想回去:
+--------+-------+
| name | votes |
+--------+-------+
| hammer | 100 |
| drill | 50 |
| nail | 30 |
| box | 5 |
+--------+-------+
你試過做什麼?問題在哪裏? – Fabio 2013-05-12 22:06:55
查看本維基百科頁面,其中顯示了各種數據庫的行數限制SQL語法:http://en.wikipedia.org/wiki/Select_(SQL)#Result_limits – BellevueBob 2013-05-12 23:33:00