求資料交集的問題
表結構如下:
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 求資料流中的中位數問題
- nuxt3 同構渲染的資料請求問題UX
- 使用axios post 請求資料無法提交的問題iOS
- Web-請求資料+號丟失問題Web
- TOMCAT 請求資料編碼亂碼 問題Tomcat
- JS求陣列的交集、並集、差集JS陣列
- vue請求後端資料和跨域問題Vue後端跨域
- 【資料集合】並集、交集、差集、子集
- 利用Underscore求陣列的交集、並集和差集陣列
- 求最大子序列的問題
- Linux求兩個文字檔案的交集、差集、並集Linux
- URL請求不能解決中文請求的問題
- 大請求、請求超時問題
- SpringMVC的資料獲取問題SpringMVC
- Vue 使用 Axios 傳送請求的請求體問題VueiOS
- 請求淘寶資料解密祕鑰返回302問題,使用yac快取解密快取
- 無法訪問請求的頁面,因為該頁的相關配置資料無效問題的解決
- 資料問題排查思路
- MutableLiveData 舊資料問題LiveData
- vue-資料問題Vue
- 求問一個 swipe 的問題,請大神們指教
- 解決hive資料庫 插入資料很慢的問題Hive資料庫
- 使用postman傳送資料,springmvc接收資料的問題PostmanSpringMVC
- 資料檢視的重複問題
- 解決AI的小資料問題AI
- 資料標準化遇到的問題
- 資料庫sql的優化問題的面試題資料庫SQL優化面試題
- 回溯法求迷宮問題
- golang開發:http請求redirect的問題GolangHTTP
- 併發請求的重複插入問題
- 資料庫系列:巨量資料表的分頁效能問題資料庫
- 使用ajax請求傳送複雜的json資料型別,並解決fastjson解析複雜的json資料型別的問題JSON資料型別AST
- [提問交流]開發問題求指導
- 大資料實驗問題大資料
- 資料處理--pandas問題
- 大資料常見問題大資料
- openGauss資料庫分析問題資料庫
- 資料治理注意哪些問題