studingsea 2011-04-28 10:58
浏览 313
已采纳

mysql 中关于统计的SQL语句怎么写

[img]http://dl.iteye.com/upload/attachment/472291/162b1ac4-5083-332c-8b96-aab0dfbbc2f3.gif[/img]
如图所示的一个表的数据

我需要的结果如下:

customerId type orderNum shkd srmb ahkd armb shkd_2 srmb_2 ahkd_2 armb_2
113 0 1 2000 900 2000 800 0 0 0 0
116 0 2 4000 900 3300 900 0 0 0 0
430 2 3 350 698 300 600 1100 600 0 0
433 1 1 1000 500 0 0 0 0 0 0
603 1 1 300 600 0 0 0 0 0 0

请问sql 语句怎么写才可以得到这种结果,谢谢

也就是把customerId中重复的记录,并且 type 不相同的,合并为一个记录

  • 写回答

3条回答 默认 最新

  • finallygo 2011-05-05 13:46
    关注

    首先要确定你重复的记录最多有多少条,我这里假设最多有两条重复customerid的记录
    select
    customerId,
    case when count(*)>=2 then 2 else max(type) end as type,
    sum(orderNum) as orderNum,
    SUBSTRING_INDEX(group_concat(shkd),',',1) as shkd,
    SUBSTRING_INDEX(group_concat(srmb),',',1) as srmb,
    SUBSTRING_INDEX(group_concat(ahkd),',',1) as ahkd,
    SUBSTRING_INDEX(group_concat(armb),',',1) as armb,
    SUBSTRING_INDEX(group_concat(shkd),',',-1) as shkd2,
    SUBSTRING_INDEX(group_concat(srmb),',',-1) as srmb2,
    SUBSTRING_INDEX(group_concat(ahkd),',',-1) as ahkd2,
    SUBSTRING_INDEX(group_concat(armb),',',-1) as armb2
    from tableName group by customerId

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序