该如何写这条mysql查询语句

sim列是手机卡号,然后记录的是每个月的消费额和公司补发的定额,要做一个关于每个月消费的统计,查询出来的结果还需要跟SIM卡信息表做一个关联,所以希望能一条语句查询出来,如果有其他好的数据表设计也麻烦告知下,小弟目前眼界还太狭窄了,肯定有很多欠考虑的地方。

数据如下图:

请输入图片描述

想要的结果如下图:

请输入图片描述

想了挺久没想到一条语句来解决这个问题,麻烦各位帮忙看下能不能一条语句实现它,不能的话那我只有分开取了之后再在程序里拼装了

阅读 4k
2 个回答

简单的话就用GROUP_CONCAT,例如:

SELECT id, sim, 
    GROUP_CONCAT(dinge ORDER BY YEAR,MONTH) AS  dinge, 
    GROUP_CONCAT(amount ORDER BY YEAR,MONTH) AS  amount  
FROM t 
GROUP BY sim

如果想用和你上面的结果完全一致的话,就只能用存储过程

用SQL语句查询出相关月份的数据并按月份排序,这要在程序中就可以很轻松的获取相关数据了。

一条SQL语句来解决这个问题并没有什么好处。如果要查询相关的6个月份或者是24个月份的数据,你还会想用一个SQL语句来解决吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题