sql一个表中同时查询两个count的sql语句

举报 回答
sql一个表中同时查询两个count的sql语句
问在线客服
扫码问在线客服
  • 回答数

    6

  • 浏览数

    6,104

举报 回答

6个回答 默认排序
  • 默认排序
  • 按时间排序

没找到满意答案?去问豆包AI智能助手
取消 复制问题
已采纳
可以有两种解决方法,
所需工具:SQL
查询两个count的方法1:
SELECT paperName , COUNT (1) AS 总题数 , sum (CASE WHEN statu = 1 THEN 1 ELSE 0 END) AS 审核题数FROM questionGROUP BY paperNme查询两个count的方法2:
select s.总题数, s.审核题数, s.paperNamefrom (select COUNT(1) as 总题数, case when status = 1 then count(1) else 0 end as 审核题数, paperNamefrom question--where papername in (select distinct paperName from question), 这个条件可以不要了group by paperNme, stauts -- status也要作为分组字段,因为在case中有使用) s备注:两个都可以使用。
取消 评论
update User
set u_DeptId =
(select d.DiQuNo from DiQu d, User u where d.DiQuList = u.UserName)
where DiQuNo.DiQuList = User.UserName
取消 评论
SELECT count(*)
FROM [SELECT 表1.A, sum(表1.B) AS BB
FROM 表1
GROUP BY 表1.A]. AS [last]
WHERE BB=-1;

'因为True+false=-1 ,以上语句在access2003中通过。结果为1
'只是不知道1个A 会不会有很多B状态
比如
1 true
1 true
1 false
1 false

这样的话就不行了。另外提问者没有交待清楚B字段是何类型,我理解应该是Boolean型的吧。可是那个Flase一会大写,一会小写,会不会是文本型呢?提问者要告诉我们是在哪个系统中用的。不同的系统略有差异啊。
取消 评论
SELECT COUNT(*) FROM (SELECT 姓名 FROM 表名 GROUP BY 姓名 HAVING COUNT(*)1) A
取消 评论
SELECT COUNT1+COUNT2 FROM
(select A,count(*) COUNT1 from table_name where B='True' GROUP BY A) C,
(select A,count(*) COUNT2 from table_name where B='False' OR B='false' GROUP BY A) D
where C.A=D.A
取消 评论
我写好了,再发给你,先看其他的。
取消 评论
ZOL问答 > sql一个表中同时查询两个count的sql语句

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?