我有mysql的評論表,像這樣。Mysql如何從同一個表中的單個查詢中獲取2組結果?
+------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+----------------+
| userid | int(11) | NO | | 0 | |
| comment | char(255) | NO | | NULL | |
| content | int(11) | NO | MUL | 0 | |
| ratings | int(11) | NO | | 0 | |
| datetime | datetime | NO | | NULL | |
| ip | int(10) unsigned | NO | | NULL | |
| is_updated | tinyint(2) | NO | | 0 | |
| record_num | int(11) | NO | PRI | NULL | auto_increment |
+------------+------------------+------+-----+---------+----------------+
現在我可以從這個和用戶名從另一個表中使用INNER JOIN查詢這樣取得評論。
我可以得到最高3評論ORDER BY comments.ratings DESC
SELECT comments.userid, users.username, comments.comment, comments.ratings, comments.datetime, comments.record_num , content.uploader , content.anonymous
FROM comments
LEFT JOIN users ON comments.userid = users.record_num
LEFT JOIN content ON comments.content = content.record_num
WHERE comments.content = ? ORDER BY comments.ratings DESC limit 3
和
得到規則的意見ORDER BY comments.datetime DESC。
SELECT comments.userid, users.username, comments.comment, comments.ratings, comments.datetime, comments.record_num , content.uploader , content.anonymous
FROM comments
LEFT JOIN users ON comments.userid = users.record_num
LEFT JOIN content ON comments.content = content.record_num
WHERE comments.content = ? ORDER BY comments.datetime DESC limit ?, ?
什麼,我tryingf做的是向用戶展示前3位的意見通過由comments.datetime DESC,然後再定期評價他們爲了收視率。
現在我怎樣才能將兩個mysql查詢合併成一個?
感謝您的輸入什麼,就是一些大的查詢, – AMB
@AMB他們是你的兩個疑問 - 我只是格式化他們不同的稍微容易閱讀。有這麼走了進去 –
沒有太多額外的工作有沒有辦法,我可以顯示甚至重複的值也一樣,我的意思是如果只有3個評論,那麼它應該由comments.ratings DESC和另一組返回6個評論,第一組訂單ORDER BY comments.datetime DESC – AMB