從mysql中查最後一條記錄的操作實例講解

select * from table order by id desc limit 1

MySql : SELECT * FROM 表名 ORDER BY 表_ID DESC LIMIT 1

SQLServer/Oracle : SELECT TOP 1 * FROM 表名 ORDER BY 表_ID DESC

首先要確定什麼是最後一條。

是編輯時間最新的為最後一條,還是某個字段數字最大的未最後一條。

比如以時間最大為最後一條,則將符合條件的資料都篩選出來,再按時間排序,再取一筆資料。

SQL如下:

select a,b from table where a>'某個時間' order by a desc limit 1

(上面SQL中a為時間)。

用max(time)查詢方可!!

select oid,status,max(time) time from 表名 group by oid,max(time);

SELECT * from tb where id = (SELECT max(id) FROM tb);

mysql 分組取最新的一條記錄(整條記錄)

mysql取分組後最新的一條記錄,下面兩種方法.一種是先篩選出最大和最新的時間,在連表查詢.一種是先排序,然後在次分組查詢(默認第一條),就是最新的一條數據瞭

select*fromt_assistant_articleasa,(selectmax(base_id)asbase_id,max(create_time)ascreate_timefromt_assistant_articleasbgroupbybase_id)asbwherea.base_id=b.base_idanda.create_time=b.create_time

selectbase_id,max(create_time),max(article_id)asarticle_idfromt_assistant_articleasbgroupbybase_id

select*from(select*fromt_assistant_articleorderbycreate_timedesc)asagroupbybase_id

mysql 查詢第幾行到第幾行記錄 查詢最後一行和第一行記錄 查詢前幾行和後幾行記錄

1、查詢第一行記錄:

select * from tablelimit 1

2、查詢第n行到第m行記錄

select * from table1 limit n-1,m-n;

SELECT*FROMtableLIMIT5,10;返回第6行到第15行的記錄

select * from employee limit 3,1;// 返回第4行

3、查詢前n行記錄

select * from table1 limit 0,n;

select * from table1 limit n;

4、查詢後n行記錄

select * from table1 order by iddesc dlimit n;//倒序排序,取前n行 id為自增形式

5、查詢一條記錄($id)的下一條記錄

select * from table1 where id>$id order by id asc dlimit 1

6、查詢一條記錄($id)的上一條記錄

select * from table1 where id<$id order by iddesc dlimit 1

發佈留言