我可以用纯SQL进行这种连接操作吗?

时间:2012-05-25 09:56:05

标签: sql join

有一些这样的数据:

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数字值,这可能吗?

3 个答案:

答案 0 :(得分:8)

您似乎只需要number的每个特定name的最大值。

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

请注意,number是字母数字字段; n.09n.011“更高”。为了使这更加数字一致,您需要n.009而不是n.09

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

答案 1 :(得分:1)

如果您希望number的最大值和name分组,请尝试此操作。

select name, max(number) as number 
from TABLE
group by name

答案 2 :(得分:0)

SELECT name, 
       'n.' + Cast(Max(Cast(Substring([number], 3, Len([number]) - 2) AS INT)) 
                   AS 
                   VARCHAR(10)) 
FROM   table 
GROUP  BY name 
相关问题