亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

關于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分析一下。

相關文章:
主站蜘蛛池模板: 三级黄色毛片网站 | www.碰| 亚洲第一网色综合久久 | 国产欧美日韩在线一区二区不卡 | 欧美中文字幕在线看 | 特别福利视频在线观看 | 性欧美17一18sex性高清播放 | 免费国产成人高清无线看软件 | 国产成人黄网址在线视频 | 日韩中文字幕免费 | 九九99九九视频在线观看 | 日本阿v视频在线观看高清 日本波多野结衣视频 | 国产精品久久久久网站 | 2020久久国产最新免费观看 | 免费日本视频 | 成人免费观看国产高清 | 国产在线观看一区二区三区四区 | 欧美特级大片 | 99视频在线看 | 步兵社区在线观看 | 最新亚洲一区二区三区四区 | 欧美jizzhd欧美精品 | 一区二区三区日韩精品 | 国产福利久久 | 日本视频在线免费播放 | 日本一区二区三区四区公司 | 国产手机在线小视频免费观看 | 香港三级日本三级人妇网站 | 久久夜色精品国产噜噜亚洲a | 天天夜夜久久 | 美女很黄很黄免费的 | 亚洲天码中文字幕第一页 | 亚洲视频一 | 国产精品无打码在线播放9久 | 欧美jizz18性欧美 | 亚洲一级片在线播放 | 国产免费a级片 | 成人性视频在线三级 | 亚洲午夜在线 | 免费v片视频在线观看视频 免费v片在线观看 | 中文字幕日韩有码 |