2014-10-31 46 views
-1

我有以下數據使用組通過無骨料

UserId  Val txt 
100   10  A 
200   25  B 
100   30  GV 
300   15  BHG 
200   20  BGV 

,並希望寫,讓分(VAL)爲每一個用戶查詢

結果:

100  10  A 
200  20  BGV 
300  15  BHG 
+1

什麼是從'val'字段中選擇的邏輯。對於'UserId''200',你有'20'作爲'val'。爲什麼'20'?爲什麼'userid''100'獲得'txt'的值'A'而不是'txt'的值'GV'或'AGV'。這一切都是非常隨意的。 – JNevill 2014-10-31 19:51:59

+0

爲每個用戶選擇min(val) – user3780058 2014-10-31 20:14:18

回答

2

試試這個:

SELECT DISTINCT ON (userID) * 
FROM your_table 
ORDER BY userID, val 
+0

@ user3780058您是否嘗試過查詢?它會給你你描述的結果。它會以最小的價值爲您提供記錄。 – 2014-10-31 20:22:00

+0

SQLFiddle:http://sqlfiddle.com/#!12/c828b/2 – JNevill 2014-10-31 20:27:21