考慮以下
mysql> create table test (f_id int, pi int, typeid int,timestamp datetime);
Query OK, 0 rows affected (0.13 sec)
mysql> insert into test values
-> (1,10,1, date_add(now(),interval 1 minute)),
-> (2,24,2, date_add(now(),interval 2 minute)),
-> (1,34,3,date_add(now(),interval 3 minute)),
-> (1,56,2,date_add(now(),interval 4 minute)),
-> (1,12,1,date_add(now(),interval 5 minute)),
-> (2,34,1,date_add(now(),interval 6 minute)),
-> (1,65,1,date_add(now(),interval 7 minute)),
-> (1,19,2,date_add(now(),interval 8 minute)),
-> (1,38,1,date_add(now(),interval 9 minute)),
-> (2,27,3,date_add(now(),interval 10 minute)),
-> (1,21,3,date_add(now(),interval 11 minute));
Query OK, 11 rows affected (0.08 sec)
Records: 11 Duplicates: 0 Warnings: 0
mysql> select * from test ;
+------+------+--------+---------------------+
| f_id | pi | typeid | timestamp |
+------+------+--------+---------------------+
| 1 | 10 | 1 | 2015-04-01 16:53:01 |
| 2 | 24 | 2 | 2015-04-01 16:54:01 |
| 1 | 34 | 3 | 2015-04-01 16:55:01 |
| 1 | 56 | 2 | 2015-04-01 16:56:01 |
| 1 | 12 | 1 | 2015-04-01 16:57:01 |
| 2 | 34 | 1 | 2015-04-01 16:58:01 |
| 1 | 65 | 1 | 2015-04-01 16:59:01 |
| 1 | 19 | 2 | 2015-04-01 17:00:01 |
| 1 | 38 | 1 | 2015-04-01 17:01:01 |
| 2 | 27 | 3 | 2015-04-01 17:02:01 |
| 1 | 21 | 3 | 2015-04-01 17:03:01 |
+------+------+--------+---------------------+
11 rows in set (0.00 sec)
查詢將首先通過時間戳列的第一個條件排序和union all來獲得結果,以在第一個記錄後得到其餘的結果
(
select * from test where f_id = 1 and typeid = 2 order by timestamp desc limit 1
)
union all
(
select * from test t1 where t1.f_id = 1 and t1.timestamp > (select max(timestamp) from test t2 where t2.f_id = 1 and t2.typeid = 2)
) ;
其結果將是
+------+------+--------+---------------------+
| f_id | pi | typeid | timestamp |
+------+------+--------+---------------------+
| 1 | 19 | 2 | 2015-04-01 17:00:01 |
| 1 | 38 | 1 | 2015-04-01 17:01:01 |
| 1 | 21 | 3 | 2015-04-01 17:03:01 |
+------+------+--------+---------------------+
你怎麼知道最後一項是否有主鍵或時間戳? – 2015-04-01 10:51:50
有時間戳,我沒有把它做成凌亂/令人困惑的表。假設列表根據輸入時間。 – aliaktas 2015-04-01 11:04:29