2

有一些数据是这样的:

name                            number

12_PAGE19901_CHN.DISPLAY_NT     n.115
12_PAGE19901_CHN.DISPLAY_NT     n.114
KAITEST123.DISPLAY_NT           n.110
KAITEST123.DISPLAY_NT           n.109
KAITEST123.DISPLAY_NT           n.108
KAITEST123.DISPLAY_NT           n.107
KAITEST33333.DISPLAY_NT         n.105

我想检索一些这样的数据:

 name                            number

12_PAGE19901_CHN.DISPLAY_NT     n.115
KAITEST123.DISPLAY_NT           n.110
KAITEST33333.DISPLAY_NT         n.105

我需要first每个特定名称的数字值,这可能吗?

4

3 回答 3

8

看来您只需要number每个特定的最大值name

SELECT
  name,
  MAX(number) AS number
FROM
  yourTable
GROUP BY
  name

请注意 asnumber是字母数字字段;n.09'高于' n.011。为了使这在数字上更加一致,您需要n.009代替n.09.

(由于我不知道您的数字字段的行为,这只是一般说明,而不是关于您的示例数据。)

于 2012-05-25T09:57:52.850 回答
1

如果你想要 maxnumber和 group by name,试试这个。

select name, max(number) as number 
from TABLE
group by name
于 2012-05-25T10:00:26.030 回答
0
SELECT name, 
       'n.' + Cast(Max(Cast(Substring([number], 3, Len([number]) - 2) AS INT)) 
                   AS 
                   VARCHAR(10)) 
FROM   table 
GROUP  BY name 
于 2012-05-25T10:01:46.267 回答