我的“订单”表中有以下相关列:
Date_Day
(范围从 1 到 31,没有尾随 0)
Date_Month
(是一月到十二月的范围,不是数值)
Date_Year
(4 位数字格式的年份,例如:2005)
总计
(小数点后两位数)
我知道存储日期的方式绝对糟糕,但这是给我的数据库。我试图找到一些东西,但我不确定是否有一种方法可以在 SQL 中完成,而不是在 PHP 中进行数学计算:
每年每一天的总和。
去年今天的总和 (这一天是这个月的第 n 个工作日。所以今天,它 将是 2012 年 10 月的第一个星期二)
最高收入 历史上的一天
MySQL 不是我的强项,虽然我可以用 PHP 来解决它,但我很乐意看到它在 MySQL 中完成,这样我就可以开始学习更多。
最佳答案
如果您想保持数据库的结构不变,您可以使用这些查询:
每年每一天的总和:
SELECT Date_Year, Date_Month, Date_Day, SUM(Total)
FROM tablename
GROUP BY Date_Year, Date_Month, Date_Day
去年这一天的总和:
SELECT SUM(Total)
FROM tablename
WHERE
Date_Year = YEAR(CURDATE())-1
AND Date_Month = MONTHNAME(CURDATE())
AND Date_Day = DAY(CURDATE())
史上最高票房日:
SELECT Date_Year, Date_Month, Date_Day, SUM(Total)
FROM tablename
GROUP BY Date_Year, Date_Month, Date_Day
ORDER BY SUM(Total) DESC
LIMIT 1
关于mysql - 寻找历史上最高票房收入的一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19124926/