首页 > 该如何写这条mysql查询语句

该如何写这条mysql查询语句

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

数据如下图:

想要的结果如下图:

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


简单的话就用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语句来解决吗?

【热门文章】
【热门文章】