mysql:获取具有最大列值的别名的元组

标签 mysql sql max alias

我想做的是:

select AlbumId from (
    select Album.AlbumId, Sum(Track.UnitPrice) as Total from Album 
    inner join Track on Album.AlbumId = Track.AlbumId
    group by Album.AlbumId
) tpt 
where Total = (select max(Total) from tpt);

但我得到:

Table 'db.tpt' doesn't exist

- 这可能是有道理的。但是,我是 SQL 新手,不知道为什么 tpt 超出了我的 where 子句的范围。我怎样才能实现这个目标?我想获取具有最大总数的元组并提取 AlbumId

谢谢!

最佳答案

JOIN 与子查询结合使用。

select tpt.AlbumId from (
    select Album.AlbumId, Sum(Track.UnitPrice) as Total from Album 
    inner join Track on Album.AlbumId = Track.AlbumId
    group by Album.AlbumId
) tpt 
JOIN (
    select Sum(Track.UnitPrice) as Total from Album 
    inner join Track on Album.AlbumId = Track.AlbumId
    group by Album.AlbumId
    ORDER BY Total DESC
    LIMIT 1
) maxtpt ON tpt.Total = maxtpt.Total

关于mysql:获取具有最大列值的别名的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28823944/

相关文章:

mysql - 如何在mysql中使用计算列连接列

python - 如何将 pyodbc.row 拆分为其值列表

python - 查找每行的最小值和最大值,不包括 NaN 值

mysql - 如何确定在 MySQL 表中索引的内容

mysql - Talend 将 JSON 字符串转换为 PostgreSQL 中的 JSON 或 JSONB

mysql - MySQL 中 "Price"列的 INT 与 DECIMAL?

mysql - SELECT REPLACE() 是否覆盖数据库中的记录

sql - Oracle 获取由 select 子句定义的数据 block 的校验和值

c - 查找最高总分并显示具有该总分的学生信息

python - 在 python 中高效地找到数组的范围?