select name from persons where gender = 'male' order by name limit 10
SQL查詢含有2的結果集
select name from persons where gender = 'female' order by name limit 10
我怎樣才能獲得前10名男性和第10位女性中的一個結果集(20項),與單個SQL查詢電話?這可能嗎?
select name from persons where gender = 'male' order by name limit 10
SQL查詢含有2的結果集
select name from persons where gender = 'female' order by name limit 10
我怎樣才能獲得前10名男性和第10位女性中的一個結果集(20項),與單個SQL查詢電話?這可能嗎?
正確的語法使用括號和union all
:
(select name
from persons
where gender = 'male'
order by name
limit 10
) union all
(select name
from persons
where gender = 'female'
order by name
limit 10
)
這是可能的,這就是所謂的UNION
可以使用UNION操作。
UNION用於將結果從多個SELECT語句 組合成單個結果集。
select name from persons where gender = 'male' order by name limit 10
UNION
select name from persons where gender = 'female' order by name limit 10
SELECT name FROM persons WHERE gender = 'male' ORDER BY name LIMIT 0,10 ;
UNION
SELECT name FROM persons WHERE gender = 'female' ORDER BY name LIMIT 0,10 ;
與ROW_NUMBER()
SELECT * FROM (
SELECT ROW_NUMBER() OVER (PARTITION BY gender ORDER BY gender) row_no,* FROM Person
) A WHERE A.row_no <= 10
這並不提供答案的問題。要批評或要求作者澄清,請在其帖子下方留言。 – 2015-03-31 16:42:11
是的,這意味着正在閱讀的人有一些大腦,不適用於「複製和粘貼軟件」LTD – 2015-03-31 16:44:20