Max和substring函数SQL Server

时间:2017-04-27 17:56:08

标签: sql sql-server tsql substring max

我需要一些帮助来返回每个OrderID的最大值。

示例我有一个具有OrderID的表,其中包括:A04-01,B17-10,C12-01等....我正在尝试选择哪里显示每个的最大数量信件。示例:A04-01是最低的,A17-01是字母A中最高的。所有这些都是在Oracle Procedure中构建的,但是我们摆脱了Oracle,所以我需要在Microsoft SQL Server中重新创建它。谢谢。

2 个答案:

答案 0 :(得分:2)

Declare @YourTable table  (OrderID varchar(25))
Insert into @YourTable values
 ('A04-01')
,('A17-10')
,('B17-10')
,('C12-01')

Select Letter = left(OrderID,1)
      ,MinVal = min(OrderID)
      ,MaxVal = max(OrderID)
 From  @YourTableYourTable    
 Group By left(OrderID,1)

返回

Letter  MinVal  MaxVal
A       A04-01  A17-10
B       B17-10  B17-10
C       C12-01  C12-01

答案 1 :(得分:0)

如果OrderID正是您提到的,请尝试以下方法:

WITH ABC
AS
(
Select OrderID, ROW_NUMBER()OVER(Partition by OrderID Order by OrderID desc) as Row_Indicator
From table
)
Select * From ABC
Where ABC.Row_Indicator = 1