mysql按月份和年份搜索为单独的字段

时间:2014-03-19 10:05:21

标签: php mysql sum

我希望这两个月 - 月份和年份之间的所有总数都是2个单独的字段。

我该怎么做?谢谢你的帮助。

SELECT *
FROM foo
JOIN
SELECT (SUM(`full_lead_count`)) AS `domainFullLeadCount`
FROM `abc`.`reports`
WHERE ((`month` >= 10)
       AND (`year` >= 2013))
  AND ((`month` <= 3)
       AND (`year` <= 2014)) LIMIT 1 bar ON val1 = val2
WHERE id = 123;

2 个答案:

答案 0 :(得分:0)

将此视为评论而非有用的答案......

未经测试且非常不完整:

问题在于,如果有一年的范围,例如2012年到2014年,则不会使用给定的示例选择所有行。

以下内容将正确选择所需日期范围内的所有行:

SELECT (SUM(`full_lead_count`)) AS `domainFullLeadCount`
FROM `abc`.`reports`
WHERE ((`year` * 100 + `month`) >= 201310)
  and ((`year` * 100 + `month`) <= 201403)

并且,是的,因为无法使用索引等,所以它并不好。

答案 1 :(得分:0)

这些场所绝对不是理想的。如果可以更改数据库布局,那么您应该考虑使用MySQL的真实date datatypes。否则,您可以使用STR_TO_DATE将两个字段转换为单个DATETIME,然后可以更轻松地处理。