1

こんにちは、小さな問題があります。これについて私にお願いできますか?

SELECT  `name` ,  `mytimestamp` 
FROM  `profile` 
WHERE  `mytimestamp` between '2012-10-24 05:59:00' AND '2012-10-25 05:59:00' 
ORDER BY `name` , `mytimestamp`

上記のクエリでは、テーブルから約 3000 のレコードが一覧表示されます。テーブルには 100 の名前が存在し、これらの名前にはいくつかのタイムスタンプが利用できます。問題は、3 時間のギャップがある名前を見つける必要があることです。

私はmysqlのクエリ自体からこれを行う必要があります......

すべてにthx!

4

2 に答える 2

0

このクエリは、プロファイル テーブルに複数の行があり、これら 2 つの行の間隔が より大きいすべてのユーザーを検索しますinterval

SELECT DISTINCT p1 name
FROM profile p1
INNER JOIN profile p2 on p1.name = p2.name
WHERE p2.mytimestamp - p1.mytimestamp > interval;
于 2012-11-23T10:07:22.730 に答える
-2

これは役立つかもしれません

 SELECT *
      FROM table
     WHERE datetime BETWEEN TO_DATE ('10/30/2012 06:00:00',
                                              'MM/DD/YYYY HH24:MI:SS'
                                             )
                                 AND TO_DATE ('10/30/2012 16:12:00',
                                              'MM/DD/YYYY HH24:MI:SS'
                                             )
                AND  TO_DATE ('10/30/2012 16:12:00',
                                              'MM/DD/YYYY HH24:MI:SS'
                                             )-  TO_DATE ('10/30/2012 06:12:00',
                                              'MM/DD/YYYY HH24:MI:SS'
                                             )>2                       
于 2012-11-23T09:59:30.963 に答える