【发布时间】:2014-10-26 09:18:51
【问题描述】:
我有两列brand 和date_time,在选择期间我将它们分配给别名。下面的查询:
SELECT brand,
YEAR(date_time) AS 'year',
SUM( brand = 'KFC' ) AS kfc
SUM( brand = 'PZH' ) AS pzh,
SUM( brand = 'SUB' ) AS sub
FROM scan_report
GROUP BY YEAR(date_time)
结果:
现在这是令人困惑的部分。如何使用Date_Sub 函数仅显示过去 5 年的数据。我的意思是用户将输入2014,并且只会显示/选择过去 5 年的记录,这意味着来自2010 to 2014。
像这样使用WHERE给了我空记录:
SELECT
YEAR(date_time) AS 'year',
SUM( brand = 'KFC' ) AS kfc
SUM( brand = 'PZH' ) AS pzh,
SUM( brand = 'SUB' ) AS sub
FROM scan_report WHERE DATE_SUB(2014, INTERVAL 5 YEAR)
GROUP BY YEAR(date_time)
或者这个
FROM scan_report WHERE DATE_SUB(year = 2014, INTERVAL 5 YEAR)
知道如何从过去 5 年的用户输入中检索记录吗?我更喜欢用 mysql 解决这个问题,如果没有找到解决方案,我将使用 php。提前致谢。
【问题讨论】:
标签: php mysql datetime mysqli alias