sql完全外部联接+分组依据+计数列

wlsrxk51  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(441)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

11个月前关门了。
改进这个问题
我有两张table:
货币表1

ID  -  currency_1
------------------
01  -   EUR
02  -   EUR
03  -   EUR
04  -   USD
05  -   USD
06  -   USD

货币表2

ID  -  currency_2
------------------
01  -   EUR
02  -   EUR
04  -   JPY
05  -   JPY
06  -   JPY
07  -   JPY

我想将id上的两个表完全外部联接起来,在结果表中我想添加一个count列,它将两个表的唯一货币组合的出现次数相加。如果另一个表中分别没有id/货币,则该组合中的货币值将显示为[null]。对于上面的示例,结果表如下所示:

Count -  currency_1  -  currency_2
----------------------------------
3     -     USD      -    JPY
2     -     EUR      -    EUR
1     -     EUR      -    [null]
1     -     [null]   -    JPY

sql看起来怎么样?我对groupby和joins很熟悉,但到目前为止还没有成功。谢谢你的意见!

ztigrdn8

ztigrdn81#

我想这就是你想要的:

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;

相关问题