社区
MS-SQL Server
帖子详情
求一SQL语句,有点难度,希望高手来看看,谢谢!
gshope
2005-07-14 05:30:45
表结构:
name types
a 1
a 0
b 0
b 0
c 1
c 0
查询结果是:按name分组,显示不同name的总数和types是1的记录数,如下:
name 总记录数 types是1的记录数
a 2 1
b 2 0
c 2 1
希望用一句SQL解决,不用存储过程.
...全文
98
10
打赏
收藏
求一SQL语句,有点难度,希望高手来看看,谢谢!
表结构: name types a 1 a 0 b 0 b 0 c 1 c 0 查询结果是:按name分组,显示不同name的总数和types是1的记录数,如下: name 总记录数 types是1的记录数 a 2 1 b 2 0 c 2 1 希望用一句SQL解决,不用存储过程.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小李木耳
2005-07-14
打赏
举报
回复
这种数据你也能同的过?好像不行吧!?
name types
a 1
a 0
> a 1
> a 2
b 0
b 0
c 1
c 0
td427
2005-07-14
打赏
举报
回复
select [name],a.counts,count(a.types) as c1
from
(select name,count(*) as counts,types from [temp]
group by name,types) as a where a.types = 1
group by name,a.counts
SQL查询分析器中调试通过
小李木耳
2005-07-14
打赏
举报
回复
select a.name,a.总记录数,b.types是1的记录数 from
(select name,count(*) as 总记录数
from 表
where types='1'
group by name
) a,
(select name,count(*) as types是1的记录数
from 表
group by name
) b
where a.name=b.name
子陌红尘
2005-07-14
打赏
举报
回复
--生成数据
create table #t(name varchar(10),types int)
insert into #t select 'a',1
insert into #t select 'a',0
insert into #t select 'b',0
insert into #t select 'b',0
insert into #t select 'c',1
insert into #t select 'c',0
--执行查询
select
name,
count(*) as [总记录数],
sum(case types when 1 then 1 else 0 end) as [types是1的记录数]
from
#t
group by
name
order by
name
--输出结果
name 总记录数 types是1的记录数
---- -------- ----------------
a 2 1
b 2 0
c 2 1
paoluo
2005-07-14
打赏
举报
回复
这样types 为1,2都可以计算出来了。
paoluo
2005-07-14
打赏
举报
回复
那这么写
Select
name,
Count(1) As N'总记录数',
SUM(Case types When 1 Then 1 Else 0 End) As N'types是1的记录数'
from TableName
Group By name
Order By name
子陌红尘
2005-07-14
打赏
举报
回复
select
name,
count(*) as [总记录数],
sum(case types when 1 then 1 else 0 end) as [types是1的记录数]
from
表
group by
name
或者投机一点:
select
name,
count(*) as [总记录数],
sum(types) as [types是1的记录数]
from
表
group by
name
td427
2005-07-14
打赏
举报
回复
select name,count(*) as RecordTotal,sum(types) as TypesTotal
from table
group by name
gshope
2005-07-14
打赏
举报
回复
to hdhai9451(新新人类)
老大,您也太巧了吧?我是举个例子,types也许是其它形式,或者记录比较多,不是正好0+1=1的情况!!
Andy__Huang
2005-07-14
打赏
举报
回复
select name,总记录数=count(*),types是1的记录数=sum(types)
from 表
group by name
7天带你玩转Mysql数据库之
SQL语句
您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 七年
SQL语句
编写经验。满满的干货! 在网上找了好多SQL数据库的教程,但你还会面临这样的问题: 1. 自己写了SQL却不知道对不对。 2. 在上线后...
常见
SQL语句
的加锁分析
sql语句
的加锁分析
常见 SQL 语句的加锁分析
这篇博客将对一些常见的 SQL 语句进行加锁分析,
看看
我们平时执行的那些 SQL 都会加什么锁。只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题。在前面的博客中我们已经...
JDBC:PreparedStatement预编译执行
SQL语句
1.
SQL语句
的执行过程——Statement直接执行的弊病: 1)
SQL语句
和编程语言一样,仅仅就会普通的文本字符串,首先数据库引擎无法识别这种文本字符串,而底层的CPU更不理解这些文本字符串(只懂二进制机器指令),...
SQL语句
中的嵌套子查询
SQL语句
;相关子查询;求选修了所有课程的学生的学号
MS-SQL Server
34,590
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章