例如:三條資料,sql查出第二高薪
id ---> salary
1 ---> 10000
2 ---> 20000
3 ---> 30000
思路一 :1)取記錄資料最大值 ----> 30000
2)再取一次資料最大值,但是過濾掉 salary =30000 的記錄,此時最大值為第二高薪
select
max(salary)
as secondhighestsalary
from employee where salary !=
(select
max(salary)
from employee)
思路二 :1)三條資料降序排序
2)取前兩條記錄
3)跳過第一條記錄,此時得到第二高薪
語法簡介:
nvl 如果第乙個引數為空那麼顯示第二個引數的值,如果第乙個引數的值不為空,則顯示第乙個引數本來的值。
offset x是跳過x個資料,limit y是選取y個資料
limit x,y 中x表示跳過x個資料,讀取y個資料
select nvl(
(select
distinct salary
from employee
order
by salary desc
limit
1offset1)
,null
)as secondhighestsalary
from employee limit
1
SQL語句查詢(持續更新中)
這是我在學習過程中筆記,如果碰見有必要記錄的我會記錄在這篇部落格中,會持續更新,希望能夠幫到更多的人 在要查詢的變數前後新增 在where 後新增1 1 select year 時間的列名 signtime from 資料庫名稱 group by year 時間的列名 1.select year 時...
sql鑲嵌查詢 SQL巢狀查詢總結
it也有一段時間了,剛開始的時候 的困難主要是在程式語言上,陣列,邏輯,演算法,這些都過來了之後,困難就上公升到資料庫設計上了.以及資料邏輯.乙個優秀的系統,會整合優秀的程式和優秀的資料庫設計.要做到這點得有足夠的經驗.這是我寫的乙個結合uinon的巢狀查詢.將五個方面的報表放到乙個臨時表裡,再從臨...
SQL練習,更新中
1.表單分頁 1.1需求 三張表,一張form表記錄表單的基本資訊,一張form record記錄表單的資料,一張form variable記錄表單中每個變數的資料。具體表結構如下 說明 建立乙個表單,記錄在form中,使用該錶進行資料填寫,此時就會增加乙個表單記錄,記錄在form record中。...