sql查詢及分頁

一、我們有時候會將查詢結果作爲一個表來繼續完成查詢工作,例如:查詢工資大於平均工資的人

整個表內容如下


sql語句如下

select renwu.bianhao,renwu.xingming,renwu.xingbie,renwu.gongzi,lsb.pjgz from renwu,(select bianhao,avg(gongzi) pjgz from renwu group by bianhao)lsb where lsb.bianhao=renwu.bianhao and renwu.gongzi>

(select bianhao,avg(gongzi) pjgz from renwu group by bianhao)lsb  --這句就是把查詢結果作爲了一個臨時表lsb


結果


注:我使用的是sqlserver2005的環境

注意group by的用法,select xingming,arg(gongzi) from renwu group by bianhao 這樣寫是會報錯的,你這樣寫數據庫結果是講一組的數據用一條展示的,他不知道這一組的xingming應該給你展示哪個xingming


二、分頁

1)在sqlserver2005下

這裏我們有7條語句,我們按照工資排序,我們只取最後兩條結果 就是第6、7條數據,那麼查詢時候先查出第1到第5條結果,然後用not in ----我也不太明白爲什麼這麼查,根據課件先這麼總結吧 

select top 2 gongzi,xingming from renwu where gongzi not in(select top 5 gongzi from renwu order by gongzi ) order by gongzi

2)mysql

在百度知道里面搜到了這種分頁方法 使用limit

select * from userdetail limit (pageNow-1)*pageSize,pageSize; 這個方法應該不錯 limit(2,20)檢索記錄行 3-22

關於limit的更多使用方法:

http://www.php100.com/html/webkaifa/database/Mysql/2010/0120/3838.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章