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

numberasは英数字フィールドであることに注意してください。n.09よりも「高い」ですn.011。これをより数値的に一貫さn.009せるには、代わりにが必要ですn.09

(数値フィールドの動作がわからないため、これは単なる一般的なメモであり、サンプル データに関するものではありません。)

于 2012-05-25T09:57:52.850 に答える
1

numberの最大値とgroupbyが必要な場合は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 に答える