2016-07-14 50 views
2

查詢:訂購VARCHAR

SELECT DISTINCT ID 
FROM myTable 
GROUP BY ID 

實際結果:

x.1.1.10 
x.1.1.11 
x.1.1.3 
x.1.1.4 
x.1.1.5 
x.1.1.6 
x.1.1.7 
x.1.1.8 
x.1.1.9 

預期結果:

x.1.1.3 
x.1.1.4 
x.1.1.5 
x.1.1.6 
x.1.1.7 
x.1.1.8 
x.1.1.9 
x.1.1.10 
x.1.1.11 
+3

你得用上點亮數據然後按'ID'的每個部分排序。什麼[RDBMS](https://en.wikipedia.org/wiki/Relational_database_management_system)?你有什麼嘗試? –

+0

您是否嘗試過'order by'子句? – Sankar

+0

@SankarRaj,它不會幫助。請看我的評論。 –

回答

0

嘗試這個

SELECT T.ID 
FROM myTable T 
CROSS APPLY (
    SELECT X = CAST('<i>' + REPLACE(ID, '.', '</i><i>') + '</i>' AS XML) 
) X 
ORDER BY by X.VALUE('i[1]','int'),X.VALUE('i[2]','int'), X.VALUE('i[3]','int')