av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

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

問(wèn)題描述

需求

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

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

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

只要有任一行記錄滿足條件的話即返回1, 表示存在可用的優(yōu)惠券,無(wú)需查詢出該用戶所有的有效優(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;

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

問(wèn)題解答

回答1:

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

相關(guān)文章:
主站蜘蛛池模板: 18成人免费观看网站 | 色一情一乱一乱一区91av | 青草久久久 | 天天摸夜夜操 | 国产理论片 | 国产精品一区二区三区免费 | 久草免费福利 | 亚洲精品美女 | 日日夜夜精品 | 色日韩 | 黄色片在线观看视频 | 亚洲男人天堂网 | 欧美黄网站 | 国产一区二区三区在线视频 | www.国产在线观看 | 日韩av一级| 秋霞福利视频 | 综合久久综合 | 久久精品国产视频 | 欧美1区2区 | 久久福利影院 | 93久久精品日日躁夜夜躁欧美 | 三级在线观看视频 | 日韩视频一区二区三区 | 亚洲xxxxx| 国产精品一品二区三区的使用体验 | 久久精品视频网站 | 亚洲一区不卡 | 久久久久亚洲 | 国产一区福利 | 午夜在线视频 | 日韩不卡av | 精品乱子伦一区二区三区 | 欧美综合久久 | 国产精品一区二区三区不卡 | 国产偷自拍 | 欧美精品在线观看视频 | 日韩精品久久久久久久 | 国产成人精品免费 | 国产精品一级二级 | 日韩欧美中文字幕在线观看 |