我有一個@columns
輸出一組小數的變量。例如,[0.00000]
、[1.00000]
、[4.00000]
、[3.00000]
。這些後來在我的一個查詢中用作列。但是,小數不會按任何特定順序排列。我想在 SQL 中將它們從最小到最大排序。我沒有看到執行此操作的函數。
我怎樣才能操縱數據來做到這一點?
SELECT
@COLUMNS += QUOTENAME(ct.rate) + ','
FROM
(
SELECT DISTINCT ct.rate FROM
DB.table ct
WHERE ct.ID = @ID
) ct
SET @COLUMNS = LEFT(@COLUMNS, LEN(@COLUMNS) - 1);
PRINT @COLUMNS```
如果在數組之前對數據進行排序,則會得到從最小到最大排序的輸出。由於您不能在子查詢中使用 order,您可以選擇 TOP MAX(INT) 對其進行子查詢。
SELECT
@COLUMNS += QUOTENAME(ct1.rate) + ','
FROM
(
SELECT DISTINCT TOP 2147483647 ct.rate FROM
DB.table ct
WHERE ct.ID = @ID
ORDER BY ct.rate
) ct1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句