簡體   English   中英

5秒內輸入不同

[英]Different entries within 5 seconds

抱歉,我不知道如何描述這個話題。

我有一個數據庫,我在其中存儲條目的unixtime和其他一些東西,在這種情況下,用戶的“名稱”列和“類型”列可以為1或2。

我想檢查是否有名稱相同的條目,並在5秒內將類型從1切換到2,然后再切換回1或2 1 2。

因此,它向我顯示了以下內容:

Unixtime   Name type
1550293559 Peter 2
1550293560 Peter 1
1550293561 Peter 2

有沒有可以幫助我做到這一點的查詢?

抱歉,我真的希望你們能理解這一點,但我不知道如何正確解釋問題。

謝謝。

您可以使用該表上的3x自聯接和必要條件(所有3行具有相同的名稱,等等)來實現。 有關更多信息,請參見http://www.mysqltutorial.org/mysql-self-join/

請注意,由於聯接會產生所有可能的排列作為輸入資料,因此您不必在查詢的where部分中對條件進行“排列”。 例如,要獲得5秒規則,您可以說

... where e1.unixtime > e2.unixtime and e2.unixtime > e3.unixtime and e3.unixtime+6 > e1.unixtime ... 

編輯:由於原始答案被低估,這是假設表名稱為“ sotest”的完整查詢(抱怨)。

SELECT 
*
FROM
sotest e1
    JOIN
sotest e2
    JOIN
sotest e3
WHERE
(e1.name = e2.name AND e2.name = e3.name
    AND e1.unixtime > e2.unixtime
    AND e2.unixtime > e3.unixtime
    AND e3.unixtime + 6 > e1.unixtime)
    AND ((e1.type = 1 AND e2.type = 2
    AND e3.type = 1)
    OR (e1.type = 2 AND e2.type = 1
    AND e3.type = 2))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM