sql - 为其他两列中的每个值从列中选择最大值
问题描述
我正在开发一个跟踪电视节目的网络应用程序,我需要获取所有季终集的剧集 ID,这意味着所有电视节目的所有季节中的最高集数。
这是我的“剧集”表的简化版本。
id tvshow_id season epnum
---|-----------|--------|-------
1 | 1 | 1 | 1
2 | 1 | 1 | 2
3 | 1 | 1 | 3
4 | 1 | 2 | 1
5 | 1 | 2 | 2
6 | 2 | 1 | 1
7 | 2 | 1 | 2
8 | 2 | 1 | 3
9 | 2 | 1 | 4
10 | 2 | 2 | 1
11 | 2 | 2 | 2
预期输出:
id
---|
3 |
5 |
9 |
11 |
我已经设法让它在最新一季工作,但我不能让它在所有季节都工作。
我也尝试从中汲取一些想法,但我似乎找不到在其中添加 tvshow_id 的方法。
我正在使用 Postgres v10
解决方案
您可以使用以下 SQL 来获取结果,将 GROUP BY 与子子查询一起使用:
select id from tab_x
where (tvshow_id,season,epnum) in (
select tvshow_id,season,max(epnum)
from tab_x
group by tvshow_id,season)
推荐阅读
- ios - 在 iOS 中解密 AES/CBC/PKCS5Padding
- angular - 如何返回到包含角度选定下拉数据的上一页?
- python - 如何在python中对三个随机数求和?
- python - 从 .txt 文件读取时,Python Pandas 无法识别数字
- android - Android原因:重复条目:AndroidManifest.xml
- julia - Julia in 函数中的抽象类型数组
- php - 试图从 Github 获取 csv 文件,在本地主机上工作但不在服务器上
- r - seq.default(my_hdr[[j]][1], my_hdr[[j]][2], by = 1) 中的 BCHRON 错误:“by”参数中的符号错误
- c++ - 关于由 volatile 限定符限定的成员函数的问题
- shell - JQ - 参数列表太长错误 - 大输入