2つの日付の時間差を計算する方法は? - MySql

code    id                  date               time difference   
AiK4JJ  kcy2000ok   2012-01-31 17:25:41         13    
unBG1D  gktoql      2012-01-31 17:25:35          3    
vzqeWU  gktoql      2012-01-31 17:25:32          4    
vvkOSd  judyssi     2012-01-31 17:25:32          8    
uwhbGt  kcy2000ok   2012-01-31 17:25:28 ?    
unBG1D  gktoql      2012-01-31 17:25:27         ?    
vvkOSd  judyssi     2012-01-31 17:25:24         ?

idに基づいて、最近の日付と前の日付との時差を秒単位で計算したい。

kcy2000okを見ると、最後の行の時間差は13秒です。

gktoqlの時差は最後の行で3秒です。

idに基づいて時間差を計算するクエリを作成する必要があります。

あなたはMySqlクエリを構築する手助けはできますか?

0

2 答え

SELECT id, UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) as difference FROM

Addendum: Your question was a little bit hard to understand until you editied it. So to make this clear: If you want to calculate the minimum difference grouped by id, you can do:

SELECT 
  id,
  MIN(UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time)) as difference
FROM your_table_name
GROUP BY id 
3
追加された
さて、私はそれを修正しました。
追加された 著者 iblue,
これは、同じ id を持つ行の時間差だけが必要であることを考慮していません!
追加された 著者 Eugen Rieck,

各ユーザーの最新のレコードから秒数がわかった場合:

SELECT id, min(UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time))
GROUP BY id

または、各ユーザーの最新のレコードを取得する:

SELECT * FROM (
    SELECT *
    FROM mytable
    ORDER BY `date` desc) x
GROUP BY id
0
追加された