一尘不染

SQL联接-求和COUNT个不同的值

sql

假设我有两个表orgs和状态orgs是(o_ID,state_abbr),而状态是(state_abbr,state)

o_ID     state_abbr
1        CT
2        OH
3        OH

state_abbr state
CT         Connecticut
OH         Ohio
Alabama    AL

我想创建一个视图,显示每个状态下的o_ID计数:

state_abbr      state       count
CT              Connecticut 1
OH              Ohio        2

我将使用哪种SQL语句?我尝试过的仅显示第一个状态,并对所有计数求和。

先感谢您。


阅读 202

收藏
2021-03-08

共1个答案

一尘不染

select
    o.state_abbr,
    s.state,
    o.[count]
from states s
inner join
(
    select state_abbr, count(*) as count
    from orgs
    group by state_abbr
) o
on s.state_abbr = o.state_abbr
2021-03-08