oracle 重複列只顯示一次的實現
CREATE TABLE test( ob_id VARCHAR(32), ob_name VARCHAR(32) ); INSERT INTO test VALUES('A001','A001-a'); INSERT INTO test VALUES('A001','A001-b'); INSERT INTO test VALUES('A001','A001-c'); INSERT INTO test VALUES('A001','A001-d'); INSERT INTO test VALUES('A002','A002-a'); INSERT INTO test VALUES('A002','A002-b'); INSERT INTO test VALUES('A002','A002-c'); INSERT INTO test VALUES('A002','A002-d'); COMMIT; 查詢結果: 如何實現下面的查詢結果: 方法一: select decode(rownum,1,ob_id,5,ob_id) ob_id,ob_name from test; 方法二: select decode(row_number() over(partition by ob_id order by ob_name),1,ob_id) ob_id,ob_name from test t; 方法三: select decode(lag(ob_id) over(partition by ob_id order by ob_name), ob_id, null, ob_name) ob_id,ob_name from test; 方法四: SELECT CASE WHEN m.rn=m.rn1 THEN NULL ELSE m.ob_id END ob_id, m.ob_name FROM (SELECT d.ob_id,d.ob_name,rn,LAG(d.rn) OVER(ORDER BY d.ob_id) rn1 FROM (SELECT t.ob_id,t.ob_name,dense_RANK() OVER( ORDER BY t.ob_id) rn FROM TEST t) d) m; 方法五: select decode(t1.ob_name, v.name, t1.ob_id, ''), t1.ob_name from (select * from test t where rowid in (select min(rowid) from test group by ob_id,ob_name)) t1 join (select t.ob_id id, min(t.ob_name) name from test t group by t.ob_id) v on v.id = t1.ob_id order by t1.ob_id, t1.ob_name; 方法六:
來自:http://www.itpub.net/thread-1768915-1-1.html |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-1670971/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用left outer join(sql)實現只顯示重複行最小id的記錄SQL
- Android 自定義Toast實現多次觸發只會顯示一次toastAndroidAST
- Oracle:重複資料去重,只取最新的一條資料Oracle
- bootstrap datetimepicker 中只顯示年或者只顯示月份boot
- 八、Qt Creator實現狀態列顯示QT
- Oracle 刪除重複資料只留一條Oracle
- 找出陣列中只出現一次的數字陣列
- vue 中 echart 在子元件中只顯示一次的問題Vue元件
- Win10系統工作列只顯示時間不顯示日期如何解決Win10
- java的struts2專案實現網站首頁只顯示域名不顯示index.do的做法Java網站Index
- Android 防止多次點選,Toast重複顯示AndroidAST
- Swrve:調查顯示19%的遊戲玩家只會開啟一次遊戲遊戲
- CSS實現限制顯示的字數,超出顯示"..."CSS
- JZ-040-陣列中只出現一次的數字陣列
- 劍指offer 陣列中只出現一次的數字陣列
- iOS設定tabbar不顯示文字,只顯示圖片iOStabBar
- [PHP] 演算法-陣列重複數字統計的PHP實現PHP演算法陣列
- win10 工作列底部顯示不全怎麼辦_win10工作列只顯示一半怎麼解決Win10
- 如何設定Word表格中每頁的表頭重複顯示
- 《劍指offer》:[40]陣列中只出現一次的數字陣列
- 【劍指offer】陣列中只出現一次的數字(1)陣列
- 【劍指offer】陣列中只出現一次的數字(2)陣列
- JS陣列去重的實現JS陣列
- 利用ASP實現Oracle資料記錄的分頁顯示Oracle
- EasyUI選擇日期只顯示年月UI
- Java實現-帶重複元素的子集Java
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- easyui datetimebox 如何只顯示 月份,不顯示具體的資料UI
- Oracle如何更改show parameter顯示內容的列的格式Oracle
- 在其它數都出現k次的陣列中找到只出現一次的數陣列
- java陣列中重複元素的去重Java陣列
- chm 檔案開啟只顯示目錄,不顯示內容
- ExpandableListView實現二級列表的顯示View
- 第一次只出現一次的字元字元
- Java 設定PDF跨頁表格重複顯示錶頭行Java
- bootstrap日期控制元件 只顯示 年月boot控制元件
- JS實現陣列去重JS陣列
- 如何實現陣列去重?陣列