当前位置: 首页 > 面试题库 >

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

轩辕涵亮
2023-03-14
问题内容

假设我有两个表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语句?我尝试过的仅显示第一个状态,并对所有计数求和。

先感谢您。


问题答案:
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


 类似资料:
  • 什么是SQL和什么是不同的类型?

  • 问题内容: 我的查询有问题,该查询显示商店列表以及与之关联的产品数量。我已经玩了很长时间的左联接等,但无济于事。这些表具有以下结构: 商店含有表列:, 产品含表列:,,, 查询如下: 我没有去买有0件商品的商店。请问我该如何实现? 基础数据库是MySQL。 谢谢!马耳他 问题答案: 您需要在左侧购物,因为右侧可能没有数据,在本例中为PRODUCT。 不仅如此,您还需要WHERE条件作为LEFT-J

  • 我想连接两个不同的数据和数据类型相同的表。 在表A中,列col1具有varchar数据类型,即123,而在表B中,列col1具有varchar数据类型,即ABC-123 是否有任何方法通过将ABC作为前缀添加到表1中的col1中,或者通过将前缀ABC从col1表2中移除来连接这两个列。

  • 有什么想法吗? 多谢了。

  • 问题内容: 比方说,我们有这个表: 我想做的是: 计算开始日期和结束日期之间的学生人数! 问题答案: 看起来您需要使用基本的聚合: 我分别在开始日期和结束日期字段周围使用了> =和<=。可以根据需要随意更改为>或<。从您的问题中并不清楚是要在特定字段之间还是要检查这两个字段之间的范围。

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我有一些需要汇总的表。它们也没有链接,但是所有表的顺序是相同的。 基本上,我想采用以下两个表: 要获得这样的输出以输入到图形应用程序中,请执行以下操作: 问题答案: