国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

關于Mysql判斷是否存在滿足某一條件的記錄

瀏覽:99日期:2022-06-21 15:08:29

問題描述

需求

查詢哪些用戶存在有效的優惠券 即仍未使用且未過期

假如是查詢一個用戶的話 SQL

select 1 from user_coupon where status = ’未使用’ and current_date<=ovre_date and user_id = ’XXX’ limit 1;

只要有任一行記錄滿足條件的話即返回1, 表示存在可用的優惠券,無需查詢出該用戶所有的有效優惠券記錄

如果用java表述的話 相當于

for(UserCoupon e : list){ if(e.status == 未使用 && currentDate <= e.overDate){return true; }}

但假如查詢條件是一個用戶ID列表呢? 這時好像只能用distinct或group by了,必須要先查詢出所有記錄了, 沒辦法做到limit 1了

select distinct user_id from user_coupon where ... and user_id in (XXX,XXX,XXX);selec user_id from user_coupon where ... and user_id in (XXX,XXX,XXX) group by user_id;

查詢條件為列表的情況下 有沒辦法指定只要有一條記錄滿足條件即返回 無需查詢所有 這樣的話 也省了用distinct和group by了

問題解答

回答1:

沒太看懂問題。如果查詢條件是列表的話,你希望返回結果是所有至少有一張優惠券的用戶嗎?如果是的話,這樣寫:select user_id, count(1) as c from user_coupon where ... group by user_id having c > 0 order by null如果百萬級以下的表,速度應該可以接受,但表比較大的情況下可能有性能問題,建議用explain分析一下。

相關文章:
主站蜘蛛池模板: 亚洲日本aⅴ片在线观看香蕉 | 视频一区在线 | 成人欧美网站 | 久久久高清免费视频 | 久久精品视频6 | 亚洲男人第一天堂 | 日本在线观看网址 | www成人国产在线观看网站 | 在线观看片成人免费视频 | 中文字幕日韩精品中文区 | 91精品啪在线看国产网站 | 亚洲视频免费在线 | 久久成人精品视频 | 99视频久久精品久久 | 久久精品视频99精品视频150 | 国产精品自拍在线 | 国产精品特级毛片一区二区三区 | 在线成人免费 | 岛国午夜精品视频在线观看 | 男人的天堂官网 | 在线观看免费国产成人软件 | 欧美成人资源 | 亚洲精品美女在线观看 | 韩国一级理黄论片 | 男人躁女人躁的好爽免费视频 | 91精品国产综合久久久久久 | 亚洲一区二区三区91 | 性生大片一级毛片免费观看 | 日韩精品一区二区三区高清 | 国产在线观看午夜不卡 | 欧美日韩a∨毛片一区 | 久久精品免费 | 久久久在线| 步兵精品手机在线观看 | 日本特黄网站 | 日本又黄又爽又免费 | 欧美一区二区精品系列在线观看 | 日韩亚洲一区中文字幕在线 | 成人毛片免费观看视频在线 | 亚洲精品一区二区在线播放 | 亚洲系列中文字幕一区二区 |