导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

一条语句检索结果

rion10 2003-01-03 11:06:08
aa:

Name sex
a 0
b 1
c 0
d 0

select count(*) from aa where sex=0
select count(*) from aa where sex=1

如何实现一条语句就能实现?
Select count(*) as man from aa
where Sex=0
inner join
select count(*) as woman from aa
where Sex=1 不行
...全文
4 点赞 收藏 20
写回复
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
rion10 2003-01-07
select count(sex),count(age) from aa where sex=0 or age=20??这也可以?
忘说了,我的是mysql,不支持SELECT 'SEX=0' AS TYPE ,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0
UNION SELECT 'AGE=20' AS TYPE,COUNT(*) AS QUANTITY WHERE AGE=20
回复
loujing 2003-01-07
如果查询生成的两个表结构一样,用union好了。
回复
liuzxit 2003-01-07
將大力的略做修改
select sum(case when sex=0 then 1 else 0 end) man,sum(case when age>20 then 1 else 0 end) per from aa
回复
pengdali 2003-01-06
select sum(case when sex=0 then 1 else 0 end) man,sum(case when sex=1 then 1 else 0 end) woman from aa
回复
WT滔滔江水 2003-01-06
你这样也行呀,不过结果集出来就不知道到底哪一行是SEX=0的,AGE=20的了。所以可以在前面多加一列注明一下。
如果要把两列分列出来,可以用CASE
回复
rion10 2003-01-06
还是没弄明白怎么搞,是不是
select count(*) from aa where sex=0
union
select count(*) from aa where age=20
回复
KnowLittle 2003-01-06
楼上的应该已经很好达到楼主的要求了(虽然有些怪)
回复
WT滔滔江水 2003-01-06
你用UNION 就不需要GROUP BY 了。UNION的用法就是列数目要一样。而且像你这样写法也是没必要的SELECT SEX,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0 group by sex,GROUP BY,如果那个WHERE 条件不要的话,可以使用GROUP BY,意思就是求出SEX=1 和SEX=0 的数目各有几个。而你现在已经知道SEX是等于0了所以GROUP BY 可以省略,因为没必要再分组了。
回复
XLYT 2003-01-06
select count(sex),count(age) from aa where sex=0 or age=20
回复
KnowLittle 2003-01-06
出什么错?
回复
rion10 2003-01-06
我这边还是不行啊,
SELECT 'SEX=0' AS TYPE ,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0
UNION SELECT 'AGE=20' AS TYPE,COUNT(*) AS QUANTITY WHERE AGE=20
还是出错
回复
WT滔滔江水 2003-01-06
to rion10() ,我不是已经帮你解决了吗?快结帐吧
回复
rion10 2003-01-06
pengdali没有完全理解我的意思,我是想同时查出sex=0和age=20分别有多少人啊?能不能一条语句实现
aa:

Name sex Age
a 0 20
b 1 30
c 0 20
d 0 30

请问如何在一条语句实现统计sex=0和age=20各有多少人?
回复
WT滔滔江水 2003-01-03
不好意思写漏了一个 FROM AA
用UNION可以实现的。SQL 帮助多看看吧,很多东西都可以查到的。
回复
WT滔滔江水 2003-01-03
SELECT 'SEX=0' AS TYPE ,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0
UNION SELECT 'AGE=20' AS TYPE,COUNT(*) AS QUANTITY WHERE AGE=20
回复
rion10 2003-01-03
aa:

Name sex Age
a 0 20
b 1 30
c 0 20
d 0 30

请问如何在一条语句实现统计sex=0和age=20各有多少人?
回复
microyzy 2003-01-03
你想统计男女人数吧?使用group by

select [sex],count(name) 人数 from aa group by sex
回复
amtyuranus 2003-01-03
select a.man,b.woman from (Select count(*) as man from aa
where Sex=0) as a,(select count(*) as woman from aa
where Sex=1 ) as b
回复
happydreamer 2003-01-03
select sum(case sex when 1 then 1 else 0 end) as man,
sum(case sex when 0 then 1 else 0 end) as woman
from aa
回复
rion10 2003-01-03
SELECT 'SEX=0' AS TYPE ,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0?
可以这样吗?数据不对,
应该是这样吧
SELECT SEX,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0 group by sex
但这样不能union了
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告