select name from persons where gender = 'male' order by name limit 10
select name from persons where gender = 'female' order by name limit 10
如何通过单个SQL查询调用获得单个结果集(20个条目)中的前10个男性和前10个女性?这可能吗?
答案 0 :(得分:0)
正确的语法使用括号和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
)
答案 1 :(得分:0)
这是可能的,它被称为UNION
答案 2 :(得分:0)
您可以使用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
答案 3 :(得分:0)
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 ;
答案 4 :(得分:0)
使用ROW_NUMBER()
SELECT * FROM (
SELECT ROW_NUMBER() OVER (PARTITION BY gender ORDER BY gender) row_no,* FROM Person
) A WHERE A.row_no <= 10