sql取上一條
首先明確一點,PHP和MySQL原生是不支持獲取上一條查詢語句的。各大框架都是封裝函數來實現的。這里以CI框架來說明,其他框架原理都大同小異。
設置成員變數,用於存儲執行過的sql語句。
思路具體就是如此,具體邏輯根據需求可以自由調整。
⑵ 關於查詢sql中數據上一條記錄和下一條記錄的sql語句......
可用row_number來解決。
如student表
id name create_date
1 張三 2015-07-01
2 李四 2015-06-01
3 王五 2015-08-01
4 趙六 2015-04-01
如,要查找張三的create_date前和後各一條數據。
withtas
(selectstudent.*,row_number()over(orderbycreate_date)rnfromstudent)
select*fromstudentwherern=(selectt.rn+1fromtwheret.name='張三')
unionall
select*fromstudentwherern=(selectt.rn-1fromtwheret.name='張三')
結果應是:
id name create_date
2 李四 2015-06-01
3 王五 2015-08-01
⑶ sql如何查詢上一條數據
sql server 使用top 1,mysql 不支持 top 1
不知道你的是什麼sql?
⑷ sql多條記錄獲取第一條
sql多條記錄取最前面一條
有表t1
數據如下:
怎麼得到如下數據
如果幾條局豎數據有name相同的,就根據time來取最前面一條記錄就可以了
這個問題第1個回答:
SQL code
這個問題第2個回答:
SQL code
這個問題第3個回答:
SQL code
(愛新覺羅.毓華 2007-10-23於浙江杭州)
/*
數據如氏早下:
數殲臘雀據如下:
⑸ sql如何取group by 分組的多條記錄只取最上面的一條!
1、創建測試表,create table test_order(userid varchar2(20), ranking varchar2(20), username varchar2(20));
⑹ 如何獲取SQL查詢當前數據上一條和下一條的記錄
方法一:x0dx0a查詢上一條記錄的SQL語句(如果有其他的查詢條件記得加上other_conditions以免出現不必要的錯誤):x0dx0a1x0dx0aselect * from table_a where id = (select id from table_a where id < {$id} [and other_conditions] order by id desc limit 1) [and other_conditions];x0dx0a查詢下一條記錄的SQL語句(如果有其他的查詢條件記得加上other_conditions以免出現不必要的錯誤):x0dx0a1x0dx0aselect * from table_a where id = (select id from table_a where id > {$id} [and other_conditions] order by id asc limit 1) [and other_conditions];