試圖編寫一個將爲每個系統名稱返回唯一記錄的查詢。爲每個組返回唯一頂行的SQL查詢
由於存在同一產品的多個版本,因此現有查詢會爲每個systemName返回多個記錄。 我可以按版本號進行排序,但希望只能保留每個系統的頂級版本號。
SELECT DISTINCT v.sysName
,v.groupName
,a.versionNumb
,b.userName
FROM table1 AS a
INNER JOIN table2 AS v ON v.sID = a.sID
INNER JOIN table3 AS b ON v.sID = b.sID
WHERE a.versionNumb LIKE '10.%'
AND v.groupName LIKE '%' + @groupVar
ORDER BY a.versionNumb DESC
使用ROW_NUMBER()進行排序,並返回行值嘗試,但我仍然不是100%在得到提取適當的數據。
任何幫助,將不勝感激!
爲什麼選擇「versionNumb」列?當一個系統名稱有多個記錄時,你期望它是什麼,但只有一個記錄應該出現在結果中? –
你介意發表你的表格的片段嗎? – Isaiah3015
machine1組3 softwareVersion10.123 user2 ---- machine1組3 softwareVersion10.111 user2 ---- machine2組1 softwareVersion10.111 user4 ---- machine2組1 softwareVersion10.107 user4 ---- machine3組1 softwareVersion10.123 user5 ---- machine4組2 softwareVersion10.111 user1 ---- machine4組2 softwareVersion10.100 user1 –