從特定重覆欄位取一值
過濾重複值得SQL語法為Distinct,但必須為全部欄位都相符才會過濾出,要是遇到如下圖有一欄位值不同則會全部的資料都過顯示出來,因此必須採用別種方法將資料過濾出來,主要我要將Class欄位內重複值且Show值為 Y 的值過濾出來
方法一
方法二
上面兩種寫法都可以求出相同的結果,下圖就是過濾出來和另外資料表合併後的結果
方法一
select * from koc_class a left join ( select Title, pictureFile, Class from koc where SN in (select max(SN) from koc where Show = 'y' group by Class) )b on a.Class = b.Class order by a.SN desc
方法二
select * from koc_class a left join ( select Title, pictureFile, Class from koc where show = 'y' group by Title, pictureFile, Class )b on a.Class = b.Class order by a.SN desc
上面兩種寫法都可以求出相同的結果,下圖就是過濾出來和另外資料表合併後的結果
留言
張貼留言
您好,我是 Lawrence,這裡是我的開發筆記的網誌,如果你對我的文章有任何疑問或者有錯誤的話,歡迎留言讓我知道。