考慮一個表具有以下模式:SQL使用一些常用字段值刪除重複記錄?
id, location, starred
有許多記錄與同一位置:
id | location | starred
-----------------------
1 rome yes
2 rome no
3 rome no
4 milan yes
5 milan no
6 bozen no
我想有每個位置最多的一個記錄。並且,如果在已加星標的記錄和未加星標的記錄之間進行選擇,我想要加星標。 那麼哪些SQL會產生這個表:
id | location | starred
-----------------------
1 rome yes
4 milan yes
6 bozen no
我懷疑這可能與一些虛表或ªviews'來完成。
DELETE FROM table
GROUP BY location,
所以你要在模式中只選擇不同的城市,如果有重複,你想要一個'starred'= yes? – vandershraaf
是的,也許創建該選擇查詢的物化視圖。 – simpatico