SQL查询含有2的结果集
问题描述:
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