SQL 全外连接 + 分组依据 + 计数列
SQL full outer join + group by + count column
我有两个 table:
currency_table_1
ID - currency_1
------------------
01 - EUR
02 - EUR
03 - EUR
04 - USD
05 - USD
06 - USD
currency_table_2
ID - currency_2
------------------
01 - EUR
02 - EUR
04 - JPY
05 - JPY
06 - JPY
07 - JPY
我想对 ID 上的两个 table 进行 FULL OUTER JOIN。在结果 table 中,我想添加一个 COUNT 列,该列汇总了两个 table 的唯一货币组合的出现次数。如果另一个 table 中分别没有 ID/currency,则该组合中的货币值将显示为 [null]。对于上面的例子,结果 table 看起来像:
Count - currency_1 - currency_2
----------------------------------
3 - USD - JPY
2 - EUR - EUR
1 - EUR - [null]
1 - [null] - JPY
sql 长什么样子?我熟悉 group by 并加入,但到目前为止还没有成功。
感谢您的输入!
我想这就是你想要的:
select ct1.currency_1, ct2.currency_2, count(*)
from currency_table1 ct1 full join
currency_table2 ct2
on ct1.id = ct2.id
group by ct1.currency_1, ct2.currency_2;
我有两个 table:
currency_table_1
ID - currency_1
------------------
01 - EUR
02 - EUR
03 - EUR
04 - USD
05 - USD
06 - USD
currency_table_2
ID - currency_2
------------------
01 - EUR
02 - EUR
04 - JPY
05 - JPY
06 - JPY
07 - JPY
我想对 ID 上的两个 table 进行 FULL OUTER JOIN。在结果 table 中,我想添加一个 COUNT 列,该列汇总了两个 table 的唯一货币组合的出现次数。如果另一个 table 中分别没有 ID/currency,则该组合中的货币值将显示为 [null]。对于上面的例子,结果 table 看起来像:
Count - currency_1 - currency_2
----------------------------------
3 - USD - JPY
2 - EUR - EUR
1 - EUR - [null]
1 - [null] - JPY
sql 长什么样子?我熟悉 group by 并加入,但到目前为止还没有成功。 感谢您的输入!
我想这就是你想要的:
select ct1.currency_1, ct2.currency_2, count(*)
from currency_table1 ct1 full join
currency_table2 ct2
on ct1.id = ct2.id
group by ct1.currency_1, ct2.currency_2;