首页 > 解决方案 > SQL Server 查询 - 使用 max 函数检索多行

问题描述

我正在开发 ac# 桌面应用程序,我正在遍历所有客户的循环。我希望我可以做一个查询来收集所有客户的行,而不是为每个单独的客户执行选择语句。

SELECT CustID, Runtot 
FROM AUDIT
WHERE UID = (SELECT MAX(uid) FROM Audit WHERE CustID = 6)

审计表:UID、CustID、CustIndex、Amount、RunTot

UID 是一个标识列,custindex 对客户插入的每一行进行迭代,runtot 字段将根据数量上下波动。基本上我需要的是通过查看每个客户的最大 uid 或 custindex 来获取最新的 runtot 字段。

标签: sql

解决方案


你想要一个相关的子查询:

SELECT a.CustID, a.Runtot 
FROM AUDIT a
WHERE a.UID = (SELECT MAX(a2.uid) FROM Audit a2 WHERE a2.CustID = a.CustID);

推荐阅读