我先把功能場(chǎng)景簡(jiǎn)要闡述下:
創(chuàng)新互聯(lián)成立以來不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營(yíng)項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營(yíng)、手機(jī)APP定制開發(fā)、移動(dòng)網(wǎng)站建設(shè)、微信網(wǎng)站制作、軟件開發(fā)、服務(wù)器托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從創(chuàng)新互聯(lián)可以獲得的服務(wù)效果。
數(shù)據(jù)行字段如下:
name
started_at
type
在這張表里,name有重復(fù)值
現(xiàn)在需要在type確定的情況下,篩選出一個(gè)列表,滿足,name不重復(fù),找出的記錄為同name下started_at為最小的記錄
舉個(gè)例子:
活動(dòng)1 2019-06-01 type1
活動(dòng)1 2019-06-02 type1
活動(dòng)1 2019-06-03 type1活動(dòng)2 2019-06-03 type1
活動(dòng)2 2019-06-05 type1
活動(dòng)2 2019-06-07 type1
那篩的列表應(yīng)為:
活動(dòng)1 2019-06-01 type1
活動(dòng)2 2019-06-03 type1
還需要滿足started_at 大于 當(dāng)前時(shí)間
請(qǐng)問這樣的sql應(yīng)該如何寫?
解決思路為:
就是利用left join 自己
比如s1 left join s2 on s1.name=s2.name and s2.started_at
最后where s2.id is null
SELECT s1.NAME, s1.started_at, FROM tbl s1 LEFT JOIN tbl s2 ON s1.`name` = s2.`name` AND s1.started_at > s2.started_at AND s2.started_at > now( ) WHERE s2.id IS NULL AND s1.started_at > now( ) AND s1.type = 'online_lecture' ORDER BY s1.NAME, s1.started_at;
大家有什么更好的解決思路嗎?
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。