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

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

MySQL連表查詢分組去重的實(shí)現(xiàn)示例

瀏覽:16日期:2023-10-01 12:27:04
目錄業(yè)務(wù)邏輯數(shù)據(jù)表結(jié)構(gòu)查詢邏輯SQL腳本腳本說(shuō)明業(yè)務(wù)邏輯

通過(guò)多種渠道將小程序的活動(dòng)頁(yè)鏈接發(fā)布出去,比如通過(guò)多多種短信附帶鏈接( channel 就記為 sms1,sms2,sms3 ),或者海報(bào)上面貼微信小程序的二維碼( channel 記為 qrcode1,qrcode2,qrcode3 ),線下會(huì)員通過(guò)掃描二維碼也能進(jìn)入小程序指定的活動(dòng)頁(yè),亦或者是通過(guò)其他會(huì)員分享的小程序鏈接也可以進(jìn)入小程序( channel 記為 share)。這些不同的進(jìn)入方式在我這篇文章統(tǒng)稱(chēng)為不同的渠道,也就是提到的 channel 字段。從不同的渠道進(jìn)入活動(dòng)頁(yè)就會(huì)產(chǎn)生一條頁(yè)面訪問(wèn)記錄。會(huì)被計(jì)入 page_view 這張表里。

會(huì)員進(jìn)入小程序的指定活動(dòng)頁(yè)后,在頁(yè)面上面觸發(fā)一系列操作后,會(huì)得到相應(yīng)的反饋,比如獲得積分,或者獲得優(yōu)惠券等等。這步操作稱(chēng)為參與活動(dòng)。這條數(shù)據(jù)會(huì)被記入 activity_record 這張表里。

現(xiàn)在呢,運(yùn)營(yíng)小姐姐要求得到一份數(shù)據(jù)報(bào)表。每位參與活動(dòng)的會(huì)員是從什么時(shí)間,哪個(gè)渠道里面進(jìn)活動(dòng)的?

數(shù)據(jù)表結(jié)構(gòu)

表名 member_id participate_time activity_record 會(huì)員號(hào) 活動(dòng)參與時(shí)間

表名 member_id channel view_time page_view 會(huì)員號(hào) 渠道 頁(yè)面訪問(wèn)時(shí)間

查詢邏輯

因?yàn)槊课粫?huì)員只能參加一次活動(dòng),也就是活動(dòng)期間只能獲得過(guò)一次積分,或者領(lǐng)取過(guò)一次優(yōu)惠券等等這種意思,也就是每位會(huì)員最多只會(huì)產(chǎn)生一條 activity_record 記錄。

可是 page_view 這張表的記錄方式就不一樣了。會(huì)員可能既收到過(guò)短信鏈接,又掃描過(guò)活動(dòng)二維碼,又被好友分享過(guò)活動(dòng)鏈接,這下,對(duì)于這位會(huì)員來(lái)說(shuō),就會(huì)產(chǎn)生多條頁(yè)面訪問(wèn)記錄,即在 page_view 里產(chǎn)生多條數(shù)據(jù)。

你想想,會(huì)員肯定是先通過(guò)某一個(gè)渠道進(jìn)入到活動(dòng)頁(yè)面,才能去參加活動(dòng)。也就是有多條 page_view 的數(shù)據(jù),按照 view_time 倒序排列,總有一條的 view_time 是小于且最接近于 activity_record 的 participate_time,下一條 page_view 的 view_time 就會(huì)大于 activity_record 的 participate_time。

SQL腳本

select c.member_id,c.view_time,.channel from (SELECT member_id, SUBSTRING_INDEX( GROUP_CONCAT( view_time ORDER BY view_time DESC ), ’,’, 1 ) AS view_time, SUBSTRING_INDEX( GROUP_CONCAT( channel ORDER BY channel DESC ), ’,’, 1 ) AS channelFROM page_view a LEFT JOIN activity_record bon a.member_id = b.member_idwhere a.view_time < b.participate_timeGROUP BY member_id) c;腳本說(shuō)明 GROUP_CONCAT:通過(guò)使用distinct可以排除重復(fù)值; group_concat( [distinct] 要連接的字段 [order by 排序字段 asc/desc ] [separator ’分隔符’] ) SUBSTRING_INDEX:字符串截取函數(shù)。substring_index(str,delim,count)。str:要處理的字符串;delim:分隔符;count:計(jì)數(shù)

到此這篇關(guān)于MySQL連表查詢分組去重的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)MySQL連表查詢分組去重內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 超碰成人免费 | 国产精品视频500部 a久久 | 免费一级片 | 精品国产乱码久久久久久蜜柚 | 日韩精品专区在线影院重磅 | 亚洲综合在线播放 | 五月婷婷在线播放 | 欧美精品一区二区三区四区 在线 | 欧美一级在线免费 | 日韩中文一区 | 在线中文字幕av | 欧美一区二区三区大片 | 久久免费精品 | 99视频网站 | 久久在线视频 | 亚洲精品一区二区三区在线观看 | 成人精品国产一区二区4080 | 老牛嫩草一区二区三区av | 北条麻妃99精品青青久久主播 | 日本在线视频一区二区 | 97高清国语自产拍 | 午夜网站视频 | 中文字幕乱码亚洲精品一区 | 97国产一区二区精品久久呦 | 午夜精品久久久久久久久久久久久 | 久久性av | av中文在线 | 亚洲av毛片| www.狠狠干 | 精品av | 中文字幕黄色大片 | 在线视频成人 | 91美女在线 | 国产成人精品一区二区三区网站观看 | 久久精品亚洲欧美日韩久久 | 日韩一二区在线 | 国产三级电影网站 | 一区二区三区视频在线 | 日韩精品国产精品 | 天天操狠狠操 | 久久久久国产精品午夜一区 |