用另一列选择最大数量
Posted
技术标签:
【中文标题】用另一列选择最大数量【英文标题】:Select Max number with another column 【发布时间】:2019-04-08 13:55:21 【问题描述】:我正在编写一个简单的查询来获取具有 MAX ADDRESS_SEQ_NUM 的 VENDOR_ID,以便获得以下输出:
VENDOR_ID ADDRESS_SEQ_NUM
76109A 81
问题是,当我编写以下 SQL 时,我会返回每个 VENDOR_ID 和它自己的最大 ADDRESS_SEQ_NUM,而我只想要整个表中的 VENDOR_ID 和最大 ADDRESS_SEQ_NUM。
SELECT VENDOR_ID, MAX(ADDRESS_SEQ_NUM)
FROM PS_VNDR_ADDR_SCROL
GROUP BY VENDOR_ID
【问题讨论】:
***.com/questions/8387587/…的可能重复 Selecting a Record With MAX Value的可能重复 【参考方案1】:ORDER BY
ADDRESS_SEQ_NUM 降序。使用TOP 1
仅获取第一行,即具有最高 ADDRESS_SEQ_NUM 值的行。
SELECT TOP 1 VENDOR_ID, ADDRESS_SEQ_NUM
FROM PS_VNDR_ADDR_SCROL
ORDER BY ADDRESS_SEQ_NUM DESC;
【讨论】:
太棒了!所以不需要Max函数?是否可以使用 Max 函数编写它并且仍然获得两列和最大行? @JBinson88 是的,您也可以这样做,但是如果您只需要获得一个 vendor_id,那么 jaralh 方法是您的最佳方法。【参考方案2】:你必须做一个子选择
SELECT VENDOR_ID, ADDRESS_SEQ_NUM
FROM PS_VNDR_ADDR_SCROL
WHERE ADDRESS_SEQ_NUM = (SELECT MAX(ADDRESS_SEQ_NUM)
FROM PS_VNDR_ADDR_SCROL)
【讨论】:
以上是关于用另一列选择最大数量的主要内容,如果未能解决你的问题,请参考以下文章