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

您的位置:首頁技術(shù)文章
文章詳情頁

關(guān)于Mysql判斷是否存在滿足某一條件的記錄

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

問題描述

需求

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

假如是查詢一個(gè)用戶的話 SQL

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

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

如果用java表述的話 相當(dāng)于

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

但假如查詢條件是一個(gè)用戶ID列表呢? 這時(shí)好像只能用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:

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

相關(guān)文章:
主站蜘蛛池模板: 精品午夜一区二区三区在线观看 | 国产欧美另类久久久品 | 麻豆国产96在线 | 日韩 | 亚洲一级毛片免费在线观看 | 永久黄网站色视频免费网站 | 国产一区二区免费视频 | 99国产福利视频在线观看 | 国产精品久久久久999 | 久久亚洲精品永久网站 | 国产在线播放一区二区 | 女人一级特纯黄大片色 | 国产免费一级片 | 久草a在线| 免费三级网站 | 真人毛片免费全部播放完整 | 国产三级三级三级三级 | 欧美在线黄色 | 国产一级一片免费播放i | 一本色综合 | 一级一片免费视频播放 | 日本a级毛片视频播放 | 久久精品国产91久久综合麻豆自制 | 欧洲一级大片 | 国产一级毛片视频在线! | 亚洲爽妇网 | 免费看一级视频 | heyzo国产亚洲高清 | 国产永久精品 | 99精品视频在线这里只有 | 一级毛片无毒不卡直接观看 | 久草在在线视频免费 | 模特精品一区二区三区 | 91精品国产综合久久久久久 | 国产成人免费视频精品一区二区 | 伊人天堂在线 | 欧美一级毛片特黄大 | 久草免费公开视频 | 欧美日韩亚洲国内综合网俺 | 日日摸夜夜搂人人要 | 亚洲美女视频在线 | 亚洲欧美在线综合一区二区三区 |