求資料交集的問題
表結構如下:
SQL> desc item_tag
Name Type Nullable Default Comments
------------------- ---------- -------- ------- --------
ITEM_TAG_ID NUMBER(18)
ITEM_TAG_SEQ_NUMBER NUMBER(16) 9999999
TAG_ID NUMBER(16)
CREATE_DATE DATE SYSDATE
ITEM_ID NUMBER(18)
其中:TAG_ID和ITEM_ID組合建立了一個唯一性索引
求交集的三種方法:
1、
select item_id from item_tag where tag_id = 23468
intersect
select item_id from item_tag where tag_id = 37484
intersect
select item_id from item_tag where tag_id = 37495
intersect
select item_id from item_tag where tag_id = 37223
2、
select it.item_id from Item_Tag it where tag_id=23468 and it.item_id in
(select it.item_id from Item_Tag it where tag_id=37484 and it.item_id in
(select it.item_id from Item_Tag it where tag_id=37495 and it.item_id in
(select it.item_id from Item_Tag it where tag_id=37223
)
)
)
3、
select it.item_id from Item_Tag it where it.tag_id in (23468,37484,37495,37223)
group by it.item_id having count(it.item_id)=4
三者效率上差不多,但第三種方法最簡潔,特別是在IN裡的列表項很多的時候。
但第三種方法只能用於ITEM_ID和TAG_ID組合是唯一的情況
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63702/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫問題求證資料庫
- 演算法求交集演算法
- 求資料流中的中位數問題
- 求n個排序連結串列的交集排序
- 用bash命令求兩個集合的交集
- hibernate 於sybase資料庫的問題-尋求答案資料庫
- Web-請求資料+號丟失問題Web
- 多組資料交集的視覺化視覺化
- JS求陣列的交集、並集、差集JS陣列
- 使用axios post 請求資料無法提交的問題iOS
- TOMCAT 請求資料編碼亂碼 問題Tomcat
- vue請求後端資料和跨域問題Vue後端跨域
- iOS請求的json資料解析錯誤問題解決iOSJSON
- 使用vue-axios請求geoJson資料包錯的問題VueiOSJSON
- 利用Underscore求陣列的交集、並集和差集陣列
- 【資料集合】並集、交集、差集、子集
- Swift 的資料問題Swift
- PHP實現bitmap點陣圖排序求交集PHP排序
- 雙表同結構提取非交集資料
- jboss訪問資料庫的問題資料庫
- 資料不能同步的問題?
- Oracle中對兩個資料表交集的查詢(轉)Oracle
- URL請求不能解決中文請求的問題
- Python求兩個list的差集、交集與並集的方法Python
- Linux求兩個文字檔案的交集、差集、並集Linux
- 大請求、請求超時問題
- 資料插入問題。
- 兩個資料訪問受限的問題
- 關於資料共享的問題
- SessionBean呼叫資料庫的問題SessionBean資料庫
- 資料庫寫入的問題資料庫
- 請教資料的返回問題
- 資料泵的跨版本問題
- 不同資料庫間傳遞資料的問題資料庫
- 無法訪問請求的頁面,因為該頁的相關配置資料無效問題的解決
- 資料庫sql的優化問題的面試題資料庫SQL優化面試題
- vue-資料問題Vue
- 大資料面試問題大資料面試