mysql - 如何以uid為基準查詢所有一分鐘之內有兩條數據以上的數據
問題描述
如下表
uid order moneytime1 100 10 2016-08-08 12:00:001 101 6 2016-08-08 12:00:582 102 8 2016-08-08 12:02:002 103 10 2016-08-08 12:02:332 104 15 2016-08-08 12:03:003 105 10 2016-08-08 12:03:011 106 10 2016-08-08 12:05:00
根據題意需要找到的數據:
uid order moneytime1 100 10 2016-08-08 12:00:001 101 6 2016-08-08 12:00:582 102 8 2016-08-08 12:02:002 103 10 2016-08-08 12:02:332 104 15 2016-08-08 12:03:00
問題解答
回答1:寫法一:
SELECT * FROM table AS aWHERE EXISTS ( SELECT 1 FROM table AS b WHERE a.uid = b.uid AND b.time >= date_sub(now(), INTERVAL 1 minute) GROUP BY b.uid HAVING count(1) > 1);
寫法二:
SELECT * FROM tableWHERE uid IN ( SELECT uid FROM table WHERE time >= date_sub(now(), INTERVAL 1 minute) GROUP BY uid HAVING count(1) > 1);
建議將date_sub(now(), INTERVAL 1 minute)用程序運算出來再代替進去。
相關文章:
1. mysql - 面試題:如何把login_log表轉換成last_login表?2. html5 - iphone5手機,微信中無法打開優酷鏈接?3. javascript - 為什么嵌套的Promise不能按預期捕獲Exception?4. javascript - nodejs實現異步時遇到的一個問題5. 剛放到服務器的項目出現這中錯誤,有高手指點嗎6. apache - 想把之前寫的單機版 windows 軟件改成網絡版,讓每個用戶可以注冊并登錄。類似 qq 的登陸,怎么架設服務器呢?7. javascript - 編程,算法的問題8. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決9. python 操作mysql如何經量防止自己的程序在之后被惡意注入(說白了就是問一下python防注入的一些要點)10. css - 手機qq打開網頁無法使用文件上傳功能?
