2013-02-05 46 views
0

您好我想從Sql Server表中檢索具有最小值但不應該改變行中數據順序的行,即數據旁邊的數據不應該被錯誤排序我想獲得結果,但我不滿意我得到的結果。我知道我可以使用where子句來阻止數據錯位,但由於我想將它與java向量關聯,因此我無法使用該選項。 以下是我目前編碼rm_id是我的身份證,但我正在到處是0如何獲取sql中的最小行

SELECT b.rm_id AS 'REMITTANCE ID', 
    min(b.[1]) AS 'Re. 1', 
    min(b.[2]) AS 'Rs. 2', 
    min(b.[5]) AS 'Rs. 5', 
    min(b.[10]) AS 'Rs. 10', 
    min(b.[20]) AS 'Rs. 20', 
    min(b.[50]) AS 'Rs. 50', 
    min(b.[100]) AS 'Rs. 100', 
    min(b.[500]) AS 'Rs. 500', 
    min(b.[1000]) AS 'Rs. 1000', 
    min(b.[tp]) AS 'T.P', 
    min(b.[tv]) AS 'T.V' 
FROM  trans_det AS b 
GROUP BY b.rm_id WITH ROLLUP 
ORDER BY rm_id DESC; 
+0

您的問題含糊不清。你說你想讓他們的行有最小值,但是你沒有指定這個最小值應該應用的字段。另一個考慮因素是可能存在聯繫,所以你需要知道如何處理。 –

+0

我們不明白你想要什麼。請添加一些示例數據以及您希望從該數據中看到的結果。 – RBarryYoung

回答

0

最小值我懷疑你可能反而要這樣:

select top 1 td.* from trans_det order by b.[1] union all 
select top 1 td.* from trans_det order by b.[2] union all 
select top 1 td.* from trans_det order by b.[5] union all 
. . . 
select top 1 td.* from trans_det order by b.tv 

這將返回集合對於每個值最小的行。

相關問題