SQL:内连接和计数不同

Fly*_*kle 2 sql

我有两个格式如下的表

Users:


UserID    Name   State
100       ABC    Active
200       DEF    Active
300       GHI    Inactive


Transactions:

UserID    TransactionDate     TransactionType   Amount
100       2020-01-01           Gas               100
100       2020-01-01           Grocery            50
100       2020-05-01           Grocery            20
200       2020-01-01           Gas                50
200       2020-01-01           Gas                15
300       2020-05-01           Grocery            20

Run Code Online (Sandbox Code Playgroud)

我想得到如下结果:

TransactionType        Count
Gas                     3
Grocery                 2
Run Code Online (Sandbox Code Playgroud)

本质上,我只想选择来自Active表的用户Users,并为这些用户计算表中发生的事务数Transactions。我是一个 sql 新手,尝试了一些连接和计数,但没有成功,知道如何让它工作吗?谢谢!

nbk*_*nbk 5

您可以使用以下查询返回您想要的结果:

SELECT 
    TransactionType,COUNT(TransactionType) as Count_
FROM
    Transactions
WERE
    UserID IN (SELECT UserID FROM Users WHERE State = 'Active')
GROUP BY TransactionType    
Run Code Online (Sandbox Code Playgroud)