Sql 在我想要一个计数后,我用group by做一个案例
我执行下一个查询:Sql 在我想要一个计数后,我用group by做一个案例,sql,count,case-when,Sql,Count,Case When,我执行下一个查询: select case when anum like '0%' then 0 else 1 end anum , ,voucher , date from ledger group by voucher, date, case when accountnum like '0%' then 0 else 1 end order by voucher 在那之后,我需要在一个查询中对anum进行计数 答案如下: 我按照我上面写的做查询。然后我得到以下结果
select case when anum like '0%' then 0 else 1 end anum ,
,voucher
, date
from ledger
group by voucher, date, case when accountnum like '0%' then 0 else 1 end
order by voucher
在那之后,我需要在一个查询中对anum进行计数
答案如下:
我按照我上面写的做查询。然后我得到以下结果:
anum voucher date
1 1 2012-09-30
29 1 2012-09-30
2 101 2012-11-01
2 1131_3 2012-01-01
4 1131_11 2012-05-22
4 1131_11 2012-05-22
但我想看看这个:
anum voucher transdate
2 1 2012-09-30
1 101 2012-11-01
1 1131_3 2012-01-01
2 1131_11 2012-05-22
只需将其放在子查询中:
select count(*) as anum, voucher, date
from (
select case when anum like '0%' then 0 else 1 end anum ,
,voucher
, date
from ledger
group by voucher, date, case when accountnum like '0%' then 0 else 1 end
order by voucher
) sq
group by voucher, date
在那之后,我需要在一个查询中计算anum的数量,我不明白这意味着什么,你能澄清你想要的是什么吗?我按照上面写的进行查询。然后我得到以下结果:anum凭证日期1 1 2012-09-30 00:00:00.000 29 1 2012-09-30 00:00:00.000 2 101 2012-11-01 00:00:00.000 2 1131_0003 2012-01-01 00:00:00.000 4 1131_0011 2012-05-22 00:00:00:00.000 4 1131_0011 2012-05-22 00:00:00:00.000,但我想看到这个:anum凭证转换日期2 1 2012-09-30:00:00:00:00:00:000 1 101 2012-11-0100:00:00.000 11131_0003 2012-01-01 00:00:00.000 21131_0011 2012-05-22 00:00:00.000谢谢您的回复。