mysql问题

我需要检索表里的

名称 id 领取数量 使用数量 退款数量

规则是当A=1时,为领取

A=1 B=1时为使用

A=1 B=0时为退款

有没有什么好方法,把他们同时展示出来 并且名称、id不重复

FineReport 帆软用户A5K1Xo5JDb 发布于 2024-1-11 10:11
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
CovidLv3中级互助
发布于2024-1-11 10:14

(case when a=1 and b=0 then '退款' WHEN a=1 and b=1 then '使用'  WHEN a=1 Then '领取'   else '其它' end)

最佳回答
0
luojian0323Lv7资深互助
发布于2024-1-11 10:13

当A=1

A的什么东西等于1?

“有没有什么好方法,把他们同时展示出来?

你要同时展示什么?

最佳回答
0
华莉星宸Lv6高级互助
发布于2024-1-11 10:16

select ID,

      sum(case when A=1 then 数量 else 0 end)as 领取数量,

sum(case when A=1 and B=1 then 数量 else 0 end)as 使用数量,

sum(case when A=1 and B=0 then 数量 else 0 end)as 退款数量

from 表名

group by ID

最佳回答
0
杨朝健Lv5中级互助
发布于2024-1-11 10:16

select id,

sum(case when A=1 then 数量 end) as 领取数量,

sum(case when A=1 and B=1 then 数量 end) as 使用数量,

sum(case when A=1 and B=0 then 数量 end) as 退款数量

from 表

group by id

最佳回答
0
年年plusLv5中级互助
发布于2024-1-11 10:18

 select  id,sum(case when A=1 then 1 end)  as 领取,sum(case when A=1 and B=1 then 1 end)  as 使用,sum(case when A=1 and B=0 then 1 end)  as 退款

from tb

group by id

最佳回答
0
yzmZQSy29696569Lv4初级互助
发布于2024-1-11 10:39

select 名称,id,

sum(case when A=1 then 领取数量 when A=1 and B=1 then 使用数量 when A=1 and B=0 then 退款数量 end) as 数量

from 表

group by 名称,id

  • 6关注人数
  • 210浏览人数
  • 最后回答于:2024-1-11 10:39
    请选择关闭问题的原因
    确定 取消
    返回顶部