1

私は次のSQLステートメントを持っています:

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

OK、問題を解決しました。あなたは正しかった、問題はデータと関係がある。実際の場合、私は多くの行を持っていましたが、クエリの「DATE(bla)で並べ替え」の部分でそれらを日付で並べ替えると思いました。これは正しくありません。日付フィールドにエイリアスを追加するまで、これは無視されます。そしてそれが私がとても混乱した理由です。申し訳ありませんが、ご協力いただきありがとうございます。

于 2012-06-18T11:56:13.580 に答える