1樓:張伊笙
select distinct top 100 a from tablename
2樓:上官三雲
sqlserver支援top關鍵字,返回前100條資料。select top 100 * from table;// 返回前100行資料
mysql支援limit,一個引數:select * from table limit 100; //返回前100行記錄
oracle需要使用rownum。select * from table where rownum<=100; //返回前100條資料
top 子句
top 子句用於規定要返回的記錄的數目。
對於擁有數千條記錄的大型表來說,top 子句是非常有用。
sql server 的語法:
select top number|percent column_name(s)
from table_name
limit子句用於強制select語句返回置頂的記錄數,引數必須是整數常量。一個引數是返回前幾條記錄;兩個引數時,第一個引數指定第一個返回記錄行的偏移量(初始記錄行的偏移量是0),第二個引數指定返回記錄的最大數目。
rownum是oracle系統順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個偽欄位可以用於限制查詢返回的總行數,且rownum不能以任何表的名稱作為字首
sql如何顯示查詢結果的前100條? 5
3樓:橄欖樹島嶼
sql語句顯示查詢結果前100條在不同的資料庫查詢語句不同,分別是:
1、在 sqlserver資料庫中:
set rowcount 100 goselect * from 表名 ;
2、在oracle資料庫中:
select * from 表名 where rownum<=100;
3、在mysql資料庫中:
select * from 表名 limit 0,100,使用idea進行示例如下:
4樓:東黧
不同的資料庫查詢語句是不一樣的,例如:
1、mysql:
select * from 表名 limit 100
2、oracle:
select * from 表名 where rownum<=100
3、sql server:
select top 100 * from 表名
4、sybase:
set rowcount 100 goselect * from 表名
通過條件查詢前100條資料:
1、mysql:
select * from 表名 where 條件 limit 100
2、oracle:
select * from 表名where rownum<=100 and 其他條件;
3、sql server:
select top 100 * from 表名 where 條件
4、sybase:
set rowcount 100 goselect * from 表名 where條件
5樓:跪著作揖
1、mysql資料庫中:
select * from tbl limit 100。
2、oracle資料庫中:
select * from tbl where rownum<=100。
3、sql server資料庫中:
select top 100 * from tbl。
4、sybase資料庫中:
set rowcount n goselect * from table1 。
擴充套件資料:
使用sql語句顯示查詢結果的前300條記錄:
1、在oracle資料庫中:
select * from tablename where rownum <= 300 。
2、在sql server資料庫:
select top 300 * from tablename 。
3、在mysql資料庫中:
select * from tablename limit 300 。
6樓:千鳥
sqlserver支援top關鍵字,返回前100條資料。select top 100 * from table;// 返回前100行資料
mysql支援limit,一個引數:select * from table limit 100; //返回前100行記錄
oracle需要使用rownum。select * from table where rownum<=100; //返回前100條資料
top 子句
top 子句用於規定要返回的記錄的數目。
對於擁有數千條記錄的大型表來說,top 子句是非常有用。
sql server 的語法:
select top number|percent column_name(s)
from table_name
limit子句用於強制select語句返回置頂的記錄數,引數必須是整數常量。一個引數是返回前幾條記錄;兩個引數時,第一個引數指定第一個返回記錄行的偏移量(初始記錄行的偏移量是0),第二個引數指定返回記錄的最大數目。
rownum是oracle系統順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個偽欄位可以用於限制查詢返回的總行數,且rownum不能以任何表的名稱作為字首
拓展資料:
sql即結構化查詢語言(structured query language),是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統;同時也是資料庫指令碼檔案的副檔名。sql語句無論是種類還是數量都是繁多的,很多語句也是經常要用到的,sql查詢語句就是一個典型的例子,無論是高階查詢還是低階查詢,sql查詢語句的需求是最頻繁的。
7樓:
什麼資料庫?
mysql:
select * from tbl limit 100;
oracle:
select * from tbl where rownum<=100;
sql server
select top 100 * from tbl其他:我也不知道 :(
8樓:肖剛
select top 100 * from 表名 where 條件
9樓:匿名使用者
select top 100 * from table
sql server資料庫中有100條記錄,如何查詢第60-70條記錄?
10樓:匿名使用者
select top 70 [name] from test
where name not in (select top 60 [name] from test order by [name])
order by [name]
11樓:匿名使用者
select top 70 from test where name not in (select top 50 name from test)
sql2008資料庫,九百萬條資料,如何快速查詢?
12樓:騎檮杌的小哪吒
900萬條你撞到datatable裡也顯示不下,也沒有人會用一頁看900萬條資料,你可以從資料庫段就分頁顯示出來,一次只傳1000或多少的,這樣速度就不會慢了。你這樣900的資料庫,不是查詢的問題,網路傳輸程式響應都是需要時間的,只能縮減屆國際的大小還縮小時間。
樓主建立索引了,但是是全表掃描其實沒有where語句索引是基本排不上用場的,所以還是分頁吧。每次取資料都是雙top這樣既可以用得上索引,又減少了返回資料集的大小。
13樓:
根據你說的需求:
"可程式中需要查詢每行的所有資料"、「查詢全部九百萬條資料」
-------------------------------
這樣的需求跟索引沒有關係了(因為已經肯定是走全表掃描的了),要提高效率的辦法就是:1、提高硬碟的io速度;2、增加記憶體以使sql server有更多的快取。
另外,你程式不要一次性取那麼多資料返回,這樣會拖死的,建議你考慮變換下處理邏輯(如:分批取回--可以根據id列值進行分批;將資料直接在服務端存成文字再傳回本地處理)。
"而是需要根據這些資料逐一進行其他功能的操作,這款程式是不聯網的"
--------------------------------
就算這樣的話,也不能一次性把9百萬資料一次性取回,如果你非要取出來再操作的話,那你得考慮分批去取。或者你把處理邏輯寫在儲存過程,然後由sql server本身去完成邏輯處理。總之,不管怎樣,你也是得優化你現在的處理邏輯(現有處理邏輯我覺得不合理,效率很低下)。
「真正部署到電力網的伺服器上速度會不會提高呢」
------------------------
伺服器當然比你本地要快得多啦,硬體配置根本就不同一個級別,但不管怎樣,還是建議你參考上面的建議優化你的處理邏輯才行,否則,你係統的效率將很低。
14樓:匿名使用者
首先,檢索資料是為了通過檢索的結果,得到訊息,如流水記錄、對比記錄、統計**。
而,一個**顯示900w條記錄,檢索人很難從中獲取需要的訊息。
所以,實際應用不會一次性檢索大量的資料,而是從大量的資料中篩選一部份資料,或是對大量的資料進行統計計算。
決定檢索速度的因素有:
1、**設計對檢索的影響:如合理的主鍵即索引設計。
2、檢索語句的效率:如子句的應用、資料的分組、排序、篩選 等等。
3、資料庫管理系統的配置:包括硬體配置、軟體配置。
15樓:匿名使用者
首先需要知道的是你查詢全部記錄的目的,然後才能針對目的做修改。
建議根據目的做成一個儲存過程或函式,將執行的結果輸出處理,不要全部顯示,因為輸出也是需要消耗大量時間的。
建議將這個表分割一下,根據實際情況,看看能否分割成多張百萬記錄的表。執行的時候通過多執行緒進行操作。
因為不知道查詢的目的,所以只能泛泛的說說我的想法,具體的優化方案需要具體分析。
sql server 2008 中,查一個表的前1000行用select top 1000,那麼查後1000行用什麼?
16樓:
sql沒有表前後行之分的,只有排序區別,可以按升序或者降序,查表的後1000行,等於把排序方法改一下,預設是desc,改成asc,語句: select top 1000 * from table order by 列 asc
用 desc 表示按倒序排序(即:從大到小排序)
用 acs 表示按正序排序(即:從小到大排序)
sqlserver2019 怎麼解除安裝啊
控制面板 更改或刪除程式 找到sql的安裝程式就可以刪了 如有vs注意別刪錯了 如果安裝的是群集,需要開啟安裝程式setup,然後選擇維護,選擇移除節點 如果是非群集安裝,直接從控制面板就可以解除安裝了 控制面板中程式直接解除安裝 如何徹底解除安裝sqlserver2008 徹底解除安裝軟體方法 1...
SQLserver2019寫SQL語句的時候有分紅色的是什麼意思
你試著執行select user id as u 應該是一個函式,反正有顏色的肯定是關鍵字 sql2005在輸入語句時為什麼有的是藍色,有的是紅色,有的是黑色?這個叫 高亮顯示,其實本質跟用記事本寫 一樣 實際上用記事本寫 效率低,不人性化 高亮是為了讓人一眼就可以看出這段 哪些是關鍵字,哪些是特殊...
sql server2019如何連線遠端的伺服器
1 開啟sql2008,使用windows身份登入 2 登入後,右鍵選擇 屬性 左側選擇 安全性 選中右側的 sql server 和 windows 身份驗證模式 以啟用混合登入模式 3 選擇 連線 勾選 允許遠端連線此伺服器 然後點 確定 4 安全性 登入名 sa 右鍵選擇 屬性 5 左側選擇 ...