mySQL union无法按预期工作

时间:2012-06-18 10:25:18

标签: mysql sql

我有以下SQL statementL:

select DATE(bla), count(*) from tableA group by DATE(bla)
UNION ALL
select DATE(bla), count(*) from tableB group by DATE(bla)
order by "DATE(bla)"

我从查询的第一部分得到了什么:

(2012-05-07,  13)

从第二部分开始:

(2012-05-07,  15)

执行整个查询后我期望看到的内容:

[(2012-05-07,  13),
(2012-05-07,  15)]

我真正得到的是:

[(2012-05-07,  13)]

问题是为什么以及我应该改变什么才能得到我期望的东西?

2 个答案:

答案 0 :(得分:3)

UNION删除重复的行,请尝试UNION ALL

select DATE(bla), count(*) from tableA group by DATE(bla)
UNION ALL
select DATE(bla), count(*) from tableB group by DATE(bla)

答案 1 :(得分:0)

好的,我解决了这个问题。你是对的,这个问题与数据有关。在实际情况下,我有很多行,但认为'按DATE(bla)命令'部分查询将按日期对它们进行排序。这不是真的,在我为日期字段添加别名之前,这将被忽略。这就是为什么我这么困惑。对不起,谢谢你的帮助。