亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在SQL數據庫表中選擇第n行?

如何在SQL數據庫表中選擇第n行?

長風秋雁 2019-06-26 15:49:12
如何在SQL數據庫表中選擇第n行?我有興趣學習一些(理想的)數據庫不可知論的方法來選擇n數據庫表中的第四行。她還想了解如何使用以下數據庫的本機功能來實現這一點:SQLServerMySQLPostgreSQLSQLite甲骨文我目前正在SQL Server 2005中執行類似的操作,但我希望看到其他人的更不可知的方法:WITH Ordered AS (SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDateFROM Orders)SELECT *FROM OrderedWHERE RowNumber = 1000000上述SQL的貸項如下:Firoz Ansari的博客最新情況:看見特羅爾斯·阿文的回答關于SQL標準。特洛伊,你有什么可以引用的鏈接嗎?
查看完整描述

3 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

這個LIMIT / OFFSETPostgreSQL中的語法是:

SELECT
    *FROM
    mytableORDER BY
    somefield
LIMIT 1 OFFSET 20;

此示例選擇第21行。OFFSET 20告訴Postgres跳過前20項記錄。如果不指定ORDER BY子句,無法保證您將得到哪些記錄,這很少有用。

顯然,SQL標準沒有提到瘋狂窗口函數之外的限制問題,這就是為什么每個人實現它的方式不同的原因。


查看完整回答
反對 回復 2019-06-26
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

我不確定其余的任何一個,但我知道SQLite和MySQL沒有任何“默認”行排序。至少在這兩種方言中,以下片段從_table抓取第15個條目,并按添加的日期/時間進行排序:

SELECT * FROM the_table ORDER BY added DESC LIMIT 1,15

(當然,您需要添加一個datetime字段,并將其設置為添加該項的日期/時間.)


查看完整回答
反對 回復 2019-06-26
  • 3 回答
  • 0 關注
  • 1881 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號