【发布时间】:2014-10-10 01:10:01
【问题描述】:
我正在寻找解决方案:
SELECT SUM(`quant`), MONTH(`date`) AS month, `id` from (
(SELECT `date`, `id`, count(`hit`) AS `quant ` FROM `stat_2014_07` WHERE `k_id` = '123')
UNION ALL
(SELECT `date`, `id`, count(`hit`) AS `quant ` FROM `stat_2014_08` WHERE `k_id ` = '123')
) group by id, month
MySQL:每个派生表都必须有自己的别名
【问题讨论】:
-
您可以添加一个别名,方法是在关闭
)后为子查询指定一个名称。所以,像(SELECT foo FROM bar) thisisaderivedtablealias这样的东西。您可以在 UNION ALL BTW 中省略 2 个内部查询周围的()。 -
具有相同结构但名称不同的表通常表示数据库设计不佳。如果您有一个名为
stats的表包含所有月份的数据,则不需要union all。
标签: mysql sql select group-by union