2016-11-14 64 views
0

我想使用mysql獲取10條記錄,其中5條記錄具有性別=男性,5條記錄具有性別=女性,ID爲DESC。使用mysql獲取10組記錄和兩組記錄

我應該爲此需要兩個分離查詢嗎?

SELECT * FROM `users` where gender='male' ORDER BY id DESC LIMIT 5 
SELECT * FROM `users` where gender='female' ORDER BY id DESC LIMIT 5 
+3

你可以使用'union'來組合這兩個查詢 – 1000111

+0

在MySQL中編寫一個使用聚合函數返回每個聚合中頂級* n *行的查詢是可能的,但是很困難。所以,對於性別你可以和UNION做得很好。如果你想要每個郵政編碼中的前五行......更難。 –

回答

0
SELECT * FROM `users` where gender='male' ORDER BY id DESC LIMIT 5 
union 
SELECT * FROM `users` where gender='female' ORDER BY id DESC LIMIT 5 

將返回5個用戶可以通過ID下令爲男性,5個用戶可以通過ID下令,是導致10條共女性。

這就是你所追求的?

+0

好吧,顯然這會導致語法錯誤。但是,是的,正確的主意。 – Strawberry