1

我有以下 SQL 语句L:

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)]

问题是为什么以及我应该改变什么来得到我所期望的?

4

2 回答 2

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)
于 2012-06-18T10:43:52.110 回答
0

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

于 2012-06-18T11:56:13.580 回答