sql - 使用两个不同的 WHERE 获取两个值
问题描述
所以我试图得到一个值,它是一个州的名字的最大数量,然后是所有州的名字的总数。我想我必须做一个WHERE * IN
但不知道该放什么。这是我到目前为止所拥有的
SELECT name,SUM(number) as total
FROM
`bigquery-public-data.usa_names.usa_1910_current`
where state = 'AL'
group by name;
解决方案
考虑:
select name, sum(number) total
from bigquery-public-data.usa_names.usa_1910_current t
where name = (
select name
from bigquery-public-data.usa_names.usa_1910_current
where state = 'AL'
order by number desc
limit 1
)
group by name
子查询恢复状态 ALname
最大的那个。number
然后,外部查询计算number
整个数据集中该名称的总和。
推荐阅读
- xpath - XPath text() returns 2 Values how to combine them to one
- java - Spring WebClient odd behaviour
- excel - 如何选择具有条件格式范围的活动单元格和活动单元格列
- sql - 如何有效计算多条经/纬度之间的最短距离(Oracle SQL)?
- excel - VBA 外部数据源
- mongodb - 匹配聚合管道中的任何日期元素 $
- git - 用于私有 gitlab 存储库的 Ansible-Galaxy,只为所有角色引用一个角色的文件
- excel - Excel - 自动递增值的公式/宏
- node.js - 尝试与 LCD 显示器通信的节点 i2c 总线错误
- c++ - c++ 在表达式中查找隐式类型转换