| 姓名|日期|得分|
| - ------|- ------|- ------|
| A类|2023年1月1日|一百|
| A类|2023年1月1日|二百|
| A类|二○二三年一月三日|三百|
| 乙|2023年1月2日|四百|
| 乙|二○二三年一月三日|一百|
| 乙|二○二三年一月三日|一百|
我有这个表,我想把它分成多个日期列,并使用查询生成器laravel或原始SQL对该日期的分数求和,所以它变成这样:
| 姓名|第一天|第二天|第三天|
| - ------|- ------|- ------|- ------|
| A类|三百|无|三百|
| 乙|无|四百|二百|
所有这些都是截止到当前月份,即1月31日,以此类推
2条答案
按热度按时间5f0d552i1#
您可以使用Laravel查询生成器完成此操作。
pvcm50d12#
你没有提供任何类似于你尝试的查询,你是如何传递日期(它是一个范围,只有月份等),和你想要的json输出。
甚至很难设想您将如何执行操作,特别是您将在所需结果中传递列值作为列名(这对于原始SQL查询没有多大意义,除非这些列不是动态的)。
但为了给您一个起点,您可以简单地按名称、日期对它们进行分组,然后再按集合中的日期进行另一次分组
即:
那么你应该能够得到如下格式的结果;
对于您想要的表结果,最好将其更改为动态行而不是动态列
参考KarlAnswer,您可以循环遍历一个日期范围并注入额外的select语句。
即当月日期