[英]How to sum and count Id's grouped by date from joining Tables in SQL
我需要幫助,我有 2 個表station_levy和market_levy我正在嘗試對兩個表中完成的所有交易進行分組,查找總數並計算按日期分組的交易數量。
表格如下
station_levy
| station_levy_id | amount_tendered | transaction_datetime |
| --------------- | --------------- | -------------------- |
| 1 | 10 | 2021-02-01 |
| 2 | 5 | 2021-02-01 |
| 3 | 10 | 2021-02-03 |
| 4 | 10 | 2021-02-04 |
market_levy
| market_levy_id | amount_tendered | transaction_datetime |
| --------------- | --------------- | -------------------- |
| 1 | 2 | 2021-02-01 |
| 2 | 3 | 2021-02-02 |
| 3 | 2 | 2021-02-03 |
| 4 | 2 | 2021-02-04 |
我試過了,但它沒有按日期分組
SELECT transaction_datetime, amount_tendered
FROM market_levy
UNION ALL
SELECT transaction_datetime, amount_tendered
FROM station_levy
GROUP BY DATE(transaction_datetime)
ORDER BY DATE(transaction_datetime)
預期結果
| trans_count | total_tendered | transaction_datetime |
| --------------- | --------------- | -------------------- |
| 3 | 17 | 2021-02-01 |
| 1 | 3 | 2021-02-02 |
| 2 | 12 | 2021-02-03 |
| 2 | 12 | 2021-02-04 |
在子查詢中UNION
您的表,並在此基礎上進行聚合和分組:
select count(1) as trans_count
,sum(amount_tendered) as amount_tendered
,DATE(transaction_datetime) as transaction_datetime
from
(select station_levy_id as trans, amount_tendered, transaction_datetime
from station_levy
union all
select market_levy_id as trans, amount_tendered, transaction_datetime
from market_levy) temp
group by DATE(transaction_datetime)
請參閱SQL 小提琴中的結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.