mysql 1kw數據 快速查詢
問題描述
gift_id 有100多種
gift_id,user_id 建立了索引
只需要找擁有某一gift_id的用戶的查詢如下,而且速度非??靤elect * from user_gift where gift_id = 1004302 group by user_id
怎么快速找到 同時擁有 gift_id 為1004302和1004004的用戶user_id呢 ?
問題解答
回答1:查 gift_id 為1004302的用戶存list1 查 gift_id 為1004004的用戶存list2 兩個list取交集
回答2:select t.user_id, count(1) as c from table as twhere t.gift_id in(1004302, 1004004)group by t.user_idhaving count(1)>1
效率問題, 沒數據, 也測試不了
如果, (user_id, gift_id) 是有可能重復的, 那在計算同時擁有之前還得將 (user_id, gift_id) 去重.
select t.user_id, count(1) as c from (select user_id, gift_id from table group by user_id, gift_id) as twhere t.gift_id in(1004302, 1004004)group by t.user_idhaving count(1)>1
相關文章:
1. javascript - 在 model里定義的 引用表模型時,model為undefined。2. python3.x - c++調用python33. css3 - 沒明白盒子的height隨width的變化這段css是怎樣實現的?4. atom開始輸入!然后按tab只有空格出現沒有html格式出現5. css3 - 這個右下角折角用css怎么畫出來?6. android - 課程表點擊后浮動后邊透明可以左右滑動的界面是什么?7. java - 根據月份查詢多個表里的內容怎么實現好?8. 關于docker下的nginx壓力測試9. javascript - 一個關于客戶端和前端通信的疑惑?10. debian - docker依賴的aufs-tools源碼哪里可以找到?。?/a>
