sql统计语句怎么写?如图

sql统计语句怎么写?如图IMG_20190322_195004.jpg

FineReport zjw345 发布于 2019-3-22 19:54
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
城落满芯Lv6中级互助
发布于2019-3-22 21:51

select

sum(case when 送货员 like '%张三%' then 1 else 0 end) as a,

sum(case when 送货员 like '%李四%' then 1 else 0 end) as b

from table

类似的方法

  • zjw345 zjw345(提问者) 如果员工几百上千人,怎么办?有没有更高效的方法?
    2019-03-22 22:25 
  • 城落满芯 城落满芯 回复 zjw345(提问者) 提供思路:mysql 使用 find查找\"、\"的位置,然后字符串截取,同时要处理 “、”的个数,一行分为多行,最后再count() group by
    2019-03-23 09:46 
  • zjw345 zjw345(提问者) 回复 城落满芯 sum case when like 比较适合,就是员工可不可不可以使用一个员工名单表代替?
    2019-03-23 10:44 
  • 城落满芯 城落满芯 回复 zjw345(提问者) 这个是不可以的,后面提供的那个思路在数据中也叫数据清洗,这是不可避免的
    2019-03-23 12:48 
最佳回答
0
吾姓独孤Lv6高级互助
发布于2019-3-23 08:46

SELECT 送货员,count(ID)AS 次数 FROM 表 GROUP BY 送货员

你看这个是你想要的不,不过还需要调整下,因为你的送货员字段里是数组

image.png

  • zjw345 zjw345(提问者) 送货员有可能是两个人,这个方法统计出来,也会去两个人。怎么分开?
    2019-03-23 08:52 
  • 吾姓独孤 吾姓独孤 回复 zjw345(提问者) 我查半天也没找到相关的sql,要不你在报表里做调整?用split(送货员单元格,\",\")做调整,然后汇总下送货员一致的单元格?
    2019-03-23 09:14 
最佳回答
0
黄源Lv6中级互助
发布于2019-3-23 09:04

写个函数分割下数据

  • zjw345 zjw345(提问者) 用什么函数?
    2019-03-23 09:08 
  • 黄源 黄源 回复 zjw345(提问者) 表值函数,把值传进函数,然后分割送货员,循环复制,再传出
    2019-03-23 09:16 
  • 黄源 黄源 回复 zjw345(提问者) 你是什么数据库?
    2019-03-23 09:16 
  • zjw345 zjw345(提问者) 回复 黄源 ms sql 分割有些数据没有分隔符,直接两个名字连在一起。
    2019-03-23 09:20 
  • 黄源 黄源 回复 zjw345(提问者) .........这个写起就复杂了,先判断是否有分割符,有就用分割符分割,没有就用司机去处理,用司机去把送货员里的司机名字替换为空,再判断字符串长度处理
    2019-03-23 09:23 
最佳回答
0
dream111Lv4见习互助
发布于2019-3-23 20:53

多加了个ID字段

image.png

image.png

  • 5关注人数
  • 844浏览人数
  • 最后回答于:2019-3-23 20:53
    请选择关闭问题的原因
    确定 取消
    返回顶部