gpt4 book ai didi

php - 在两个日期之间搜索并按月份排序

转载 作者:行者123 更新时间:2023-11-30 01:32:02 25 4
gpt4 key购买 nike

我对两个日期之间的搜索记录不熟悉,并且显示按月份(从一月到十二月)排序的记录。

我有这样的 table 。

Employee  |  Salary  |  Date from  |  Date To  
John A. | 15000 | 2013-05-26 | 2013-06-10
Mark | 15000 | 2013-05-26 | 2013-06-10
John A. | 15000 | 2013-06-11 | 2013-06-25
Mark | 20000 | 2013-06-11 | 2013-06-25

我希望报告像这样显示。

Employee  |   26 May - June 10   |  11 June - 25 June   | So on..  
John A. | 15000 | 15000
Mark | 15000 | 20000

请查看我的代码。这只会搜索两个日期之间的记录

SELECT * 
FROM payroll
WHERE datefrom >= '2013-01-01'
AND dateto < '2013-12-31'

请告诉我如何解决这个问题。

最佳答案

您需要对数据进行透视,不幸的是在mysql中,透视是静态的,因此您需要为每种情况编写它(但您可以使用脚本来做到这一点),下面您有一个仅用于示例数据的示例,但它可以待续。

试试这个:

SELECT  
employee,
SUM(IF(datefrom='2013-05-26' AND dateto='2013-06-10',Salary,0)) as `26 May - June 10`,
SUM(IF(datefrom='2013-06-11' AND dateto='2013-06-25',Salary,0)) as `11 June - 25 June`
FROM
payroll
WHERE
datefrom >= '2013-01-01'
AND dateto < '2013-12-31'
GROUP BY
employee

关于php - 在两个日期之间搜索并按月份排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17336869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com