我希望这两个月 - 月份和年份之间的所有总数都是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;
答案 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,然后可以更轻松地处理。