需要SQL MAX吗
我有一个表,其中列出了客户编号、ID等&有许多客户具有不同的ID。我需要提取每个客户的最大ID号,例如 ClientNo:1500有3个ID-ID字段中的最大值就是我需要的 更新:这项工作:需要SQL MAX吗,sql,sql-server,Sql,Sql Server,我有一个表,其中列出了客户编号、ID等&有许多客户具有不同的ID。我需要提取每个客户的最大ID号,例如 ClientNo:1500有3个ID-ID字段中的最大值就是我需要的 更新:这项工作: SELECT MP.ClientID, MP.SequenceID FROM TABLENAME MP INNER JOIN ( SELECT ClientID, MAX(SequenceID) SequenceID FROM TABLENAME GROUP BY ClientID ) b on MP.
SELECT MP.ClientID, MP.SequenceID
FROM TABLENAME MP
INNER JOIN (
SELECT ClientID, MAX(SequenceID) SequenceID
FROM TABLENAME
GROUP BY ClientID
) b on MP.ClientID = b.ClientID AND MP.SequenceID = b.SequenceID
但是
我需要将该表链接到许多其他表以获取其他数据,我在哪里插入这些表的左连接?我假设您有多个相同的客户端号码,具有不同的ID,并且对于每个客户端号码,您必须获得最大ID。您可以执行以下操作:
select client_number, max(ID) from client group by client_number;
根据需要调整此查询。您可能需要执行以下操作:
SELECT MP.ClientID, b.DesiredValue
FROM TABLENAME MP
INNER JOIN (
SELECT ClientID, DesiredValue, ROW_NUMBER () OVER (PARTITION BY ClientID order by SequenceID desc) As RecentRN
FROM TABLENAME
) b
on MP.ClientID = b.ClientID AND b.RecentRN = 1
或
提示:GROUP BY.SELECT MP.ClientID,MP.SequenceID来自[5QDC_-BAK].[dbo].[MonthlyPlannerApp]MP内部联接SELECT ClientID,MAXSequenceID来自[5QDC_-BAK].[dbo].[MonthlyPlannerApp]按MP.ClientID=b.ClientID和MP.SequenceID=b.SequenceIDB上的ClientID b分组但我需要向其他表插入一些左联接。您知道我需要在哪里执行此操作吗?完成内部联接后,假设左侧是主侧,则启动左外部联接。它看起来是这样的:从a.id=b.id的内部连接b中选择a.x,a.y;从a.id=c.id的外部连接c中选择a.x,a.y;
SELECT MP.ClientID, b.DesiredValue
FROM TABLENAME MP
INNER JOIN (
SELECT ClientID, DesiredValue,ROW_NUMBER () OVER (PARTITION BY ClientID order by SequenceID desc) As RecentRN
FROM TABLENAME
) b
on MP.ClientID = b.ClientID
Where b.RecentRN = 1