午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

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

問題描述

需求

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

假如是查詢一個用戶的話 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表述的話 相當于

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:

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

相關文章:
主站蜘蛛池模板: 欧美一级日韩一级 | 黄色网免费看 | 亚洲在线观看av | 亚洲国产精选 | 成人在线观看国产 | 国产又粗又猛又黄又爽 | 国内精品偷拍 | 日韩欧美一级视频 | av成人亚洲 | 成人久久免费视频 | 日韩精品无 | 国产在线综合视频 | 99久久99久久精品国产片果冻 | 久久婷婷成人综合色 | 亚洲成年人网站在线观看 | 国产精品爽 | 亚洲国产麻豆 | 午夜激情小视频 | 免费在线观看黄 | 久久久黄色片 | 成人免费黄色 | 亚洲成人黄色影院 | 国产一区二区三区视频在线观看 | 国产激情图片 | 91av在线免费| 国产精品久久久久久久久久免费 | 黄色a级片 | 91超碰在线免费观看 | 在线观看中文字幕亚洲 | 久久综合热 | 日韩久久久精品 | 日日噜噜噜夜夜爽爽狠狠 | 午夜精品一区二区三区在线视频 | 永久在线观看 | 在线观看精品一区 | 992在线观看 | 日韩国产免费 | 免费在线你懂的 | 成人av视屏 | 一夜七次郎在线视频 | 99视频在线观看免费 |