mysql - 寻找历史上最高票房收入的一天

标签 mysql sql

我的“订单”表中有以下相关列:

Date_Day(范围从 1 到 31,没有尾随 0)

Date_Month(是一月到十二月的范围,不是数值)

Date_Year(4 位数字格式的年份,例如:2005)

总计(小数点后两位数)

我知道存储日期的方式绝对糟糕,但这是给我的数据库。我试图找到一些东西,但我不确定是否有一种方法可以在 SQL 中完成,而不是在 PHP 中进行数学计算:

  1. 每年每一天的总和。

  2. 去年今天的总和 (这一天是这个月的第 n 个工作日。所以今天,它 将是 2012 年 10 月的第一个星期二)

  3. 最高收入 历史上的一天

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/

相关文章:

mysql 在需要唯一行的地方加入

php - 从可以与 include() 一起使用的 MySQL 数据库中获取数据

sql - 如何将此 mysql 查询转换为 postgres 9.4

mysql - 无法在程序 [VB] 中连接到 MySQL 服务器数据库

php - 在 Laravel 中搜索列名以获取行

php - 从从 mysql 数据库检索到的图像在 php 中插入 masonry

c# - 如何将变量值插入到 server 2008 表中

mysql - 从表格宽度日期字段获取每周分数

sql - 如果另一个表中不存在数据,如何从表中选择

mysql - SQL select query - 从不同字段中选择