如果我有一列的表值α,雅尊,β,棕色,查理,保鮮熱門功能爲每個字母
我要如何像雅尊的價值觀,棕色和堅持,因爲「人」在阿爾法至上「AZ」的雅尊。我開始在SQL 2005
Select top 1 columnA from TableA order by ColumnA desc
它給我的只有1結果使用這個,但我需要得到每個字母AB和C.
謝謝提前
如果我有一列的表值α,雅尊,β,棕色,查理,保鮮熱門功能爲每個字母
我要如何像雅尊的價值觀,棕色和堅持,因爲「人」在阿爾法至上「AZ」的雅尊。我開始在SQL 2005
Select top 1 columnA from TableA order by ColumnA desc
它給我的只有1結果使用這個,但我需要得到每個字母AB和C.
謝謝提前
你的問題有點不清楚,但我假設你想爲每個首字母最大時(按字母順序排序)值。也就是說,如果這是一本字典,您希望a
的最後一項,b
的最後一項,等等。如果是這樣,請嘗試:
SELECT MAX(myCol)
FROM myTable
GROUP BY LEFT(myCol,1)
我會推測,「字母」是指「第一個字母」。您可以使用row_number()
解決這個問題:
select columnA
from (select columnA,
row_number() over (partition by left(columnA, 1) order by columnA desc) as seqnum
from TableA
) t
where seqnum = 1
order by columnA
我想你想的第一個字母來劃分,並得到一個詞一個字母。
你可以使用一個CTE
與Row_Number
功能:
WITH cte
AS (SELECT ColumnA,
rn=Row_number()
OVER(
partition BY Substring(ColumnA, 1, 1)
ORDER BY ColumnA DESC)
FROM TableA)
SELECT *
FROM cte
WHERE rn = 1
結果:
azera
brown
cling
不清楚。嘗試添加更多細節或表格。 – Arpit
我想按字母順序排列每個起始字母的最大值。 – Ram