mh:工时   mhtype:工时类型(6种)

字段:userid      mhtype    mh
      001          1        5
      001          1        3
      001          2        4
      001          3        9
      002          5        5
      002          6        7
      002          3        4
      002          3        9

要求统计出每个人每一类工时的总合
结果要求如下格式
userid  mhtype1   mhtype2   mhtype3   mhtype4   mhtype5   mhtype6   allmh
001     8         4          9        0           0         0        21
002     0         0          13        0           5         7        25

-------------------

create table lk4(
userid mediumint(3) unsigned zerofill not null,
mhtype int not null,
mh int not null);
insert into lk4 values
(001,1,5),
(001,1,3),
(001,2,4),
(001,3,9),
(002,5,5),
(002,6,7),
(002,3,4),
(002,3,9);
select userid,
sum((case when mhtype=1 then mh else end )) as 'mhtype1',
sum((case when mhtype=2 then mh else end )) as 'mhtype2',
sum((case when mhtype=3 then mh else end )) as 'mhtype3',
sum((case when mhtype=4 then mh else end )) as 'mhtype4',
sum((case when mhtype=5 then mh else end )) as 'mhtype5',
sum((case when mhtype=6 then mh else end )) as 'mhtype6',
sum(mh) as 'allmh'
from lk4 group by userid;

结果:

+--------+---------+---------+---------+---------+---------+---------+-------+
| userid | mhtype1 | mhtype2 | mhtype3 | mhtype4 | mhtype5 | mhtype6 | allmh |
+--------+---------+---------+---------+---------+---------+---------+-------+
|    001 |       8 |       4 |       9 |       0 |       0 |       0 |    21 |
|    002 |       0 |       0 |      13 |       0 |       5 |       7 |    25 |
+--------+---------+---------+---------+---------+---------+---------+-------+
2 rows in set (0.00 sec)

*******************************

数据结构如下
 id    name    area
 01    a       河北
 02    b       山东
 03    c       河北  
 04    d       陕西
 05    e       河北
 06    f       山东
 
也即每个用户都有id,name,area
 现要求如下:
 按地区聚合并统计用户数、显示各用户详细情况
 
大概类似于下面的结果:
 地区  总用户数   详细用户
 河北   3       (01,a),(03,c),(05,e)
 山东   2       (02,b),(06,f)
 陕西   1       (04,d)

select area,count(*),group_concat('(',id,',',name,')')
from tb
group by area

************

这是源数据,根据不同的adminid,算出每个adminid有多少条数据,并且state为0的有几条,为1的有几条
返回结果是这样的:

adminid total state0 state1
   1         100   90        10
  2          111   55        56
total是state的总数,state0是state=0的数量,state1是state=1的数量,adminid是adminid

然后将以下得到的数据全部插入表2内:

表2字段为:

adminid s_total s_state0 s_state1

insert into tb2
select adminid,count(*) as total,
count(case when state=0 then 1 end) as state0,
count(case when state=1 then 1 end) as state1
from tb
group by adminid

***********

一。以产品编码为分类进行数量的汇总

SQL code?
1
2
3
select 产品编码,sum(购买数量)
from 表结构
group by 产品编码

二。在汇总的基础上,我要对每个产品编码按发货地区进行分类汇总。

SQL code?
1
2
3
select 产品编码,发货地区,sum(购买数量)
from 表结构
group by 产品编码,发货地区

sql 统计用的sql相关推荐

  1. sql 统计常用的sql

    统计常用的sql语句: 今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0 昨天的所有数据:select * fr ...

  2. 免费的sql工具_免费SQL工具

    免费的sql工具 Adminer ApexSQL CI/CD toolkit ApexSQL Compare ApexSQL Complete ApexSQL Decrypt ApexSQL Plan ...

  3. 用sql统计vintage,滚动率,迁移率,逾期率

    获取代码请移步:用sql统计vintage,滚动率,迁移率,逾期率

  4. Oracle-Oracle SQL Report (awrsqrpt.sql/awrsqrpi.sql)生成指定SQL的统计报表

    概述 我们知道,Oracle提供的脚本均位于下列目录下 $ORACLE_HOME/rdbms/admin 其中, awrsqrpt.sql用来分析某条指定的SQL语句,通过awrsqrpt.sql脚本 ...

  5. mysql count if语句_COUNT分组条件去重的sql统计语句示例(mysql)

    常规情况下的sql分组统计为: select count(1) from 表 where 条件 group by 字段; 但是有时往往需要添加不同的条件已经去重的统计以上语句就不能满足需求. 解决方案 ...

  6. DBLINK 无统计信息导致SQL变慢

    今天重庆ORACLE社区有位哥们提问,为啥索引重建(alter index rebuil)之后,SQL变慢了,以前15秒就可以完成,现在要2分多种,于是问他要了执行计划 SQL> set aut ...

  7. SpringBoot 如何统计、监控 SQL运行情况?

    点击关注公众号,实用技术文章及时了解 来源:juejin.cn/post/7062506923194581029 1 基本概念 Druid 是Java语言中最好的数据库连接池. 虽然 HikariCP ...

  8. execution 排除_使用SQL Server 2016 Live Execution统计信息对SQL查询性能进行故障排除

    execution 排除 SQL Server Management Studio a graphical interactive that allows you to interact with t ...

  9. 【每日一练:SQL】写一条SQL统计连续三个月金额大于0及每个月的金额

    写一条SQL统计连续在三个月金额大于0及展现每个月的金额 需求: 下面是表FEE,字段是month(月份),service_id(电话号码),fee(出帐金额),请参看下面要求:    Month   ...

最新文章

  1. [node 工具] 用 Node.js 将 bugzilla 上的 bug 列表导入到 excel 表格在线版本之一(server 端)...
  2. 添加gitignore文件后使其生效
  3. 【腾讯面试题】MySQL常用数据库引擎
  4. VS2010代码提示功能配置:Visual Assist X 10.7.1912.0
  5. 不是世界不好,而是你见得太少
  6. 【游戏开发】C 游戏编程实例
  7. inline函数的作用
  8. 你理解这些Cisco NAT分类和原理吗
  9. android 中tools命名空间的全解
  10. 马哥linux第30期,马哥Linux第三周
  11. 南邮计算机考研复试经验,我的一点建议——南京邮电大学考研经验_跨考网
  12. [英文邮件写作技巧] 表达感谢,提出问题,描述附件
  13. 思维导图网页版推荐,这两个网站建议收藏
  14. 深圳计算机专业中专学校,深圳最好的中专学校有哪些 十大中专学校排名
  15. 【Typescript专题】之类型进阶
  16. centos7FastDFS分布式安装部署
  17. 与谷歌AI领军科学家一较高下的梦想如何反应了中国对科技突破的追求?
  18. 绿联扩展坞拆解_『 元作 』配件专家——优越者Type-C 十合一扩展坞拆解+试用评测!【下集】...
  19. Bootstrap 一篇就够 快速入门使用(中文文档)
  20. Java——继承、方法覆盖

热门文章

  1. pexpect oracle,expect免交互脚本编程
  2. MySQL总结连接查询
  3. MySQL sql99语法—等值连接
  4. SpringBoot优点
  5. 序列化技术的选型-选型建议
  6. 构造方法注入和设值注入有什么区别?
  7. DataURL:概述
  8. 事件绑定中的this问题
  9. java 怎么清除画布_HTML5 Canvas 清除画布
  10. 200903阶段一C++