Linq 取第一行 前幾行Top

2021-10-06 23:20:03 字數 1226 閱讀 5571

top/bottom操作

適用場景:適量的取出自己想要的資料,不是全部取出,這樣效能有所加強。

take

說明:獲取集合的前n個元素;延遲。即只返回限定數量的結果集。

var q = (

from e in db.employees

orderby e.hiredate

select e)

.take(5);

語句描述:選擇所雇用的前5個雇員。

skip

說明:跳過集合的前n個元素;延遲。即我們跳過給定的數目返回後面的結果集。

var q = (

from p in db.products

orderby p.unitprice descending

select p)

.skip(10);

語句描述:選擇10種最貴產品之外的所有產品。

takewhile

說明:直到某一條件成立就停止獲取;延遲。即用其條件去依次判斷源序列中的元素,返回符合判斷條件的元素,該判斷操作將在返回false或源序列的末尾結束 。

skipwhile

說明:直到某一條件成立就停止跳過;延遲。即用其條件去判斷源序列中的元素並且跳過第乙個符合判斷條件的元素,一旦判斷返回false,接下來將不再進行判斷並返回剩下的所有元素。

paging(分頁)操作

適用場景:結合skip和take就可實現對資料分頁操作。

1.索引

var q = (

from c in db.customers

orderby c.contactname

select c)

.skip(50)

.take(10);

語句描述:使用skip和take運算子進行分頁,跳過前50條記錄,然後返回接下來10條記錄,因此提供顯示products表第6頁的資料。

2.按唯一鍵排序

var q = (

from p in db.products

where p.productid > 50

orderby p.productid

select p)

.take(10);

語句描述:使用where子句和take運算子進行分頁,首先篩選得到僅50 (第5頁最後乙個productid)以上的productid,然後按productid排序,最後取前10個結果,因此提供products表第6頁的資料。請注意,此方法僅適用於按唯一鍵排序的情況。

oracle重複欄位取第一行值

select from select k.kind as kinds,d.x.sum,row number over partition by d.tknumber order by d.nowdate desc as row from 裡面就是個查詢,不管,主要是外面的 select t.s.te...

mysql 儲存過程 後一行減去前一行

delimiter 統計單個使用者登入次數的存過 times count int 返回值 i 記錄行號的變數 初始值為0 temp 記錄時間差的變數 total 記錄登入次數的變數 初始值為0 nums 記錄共有多少行 單個使用者 j 記錄行號的變數 值為i 1 create procedure p...

Python csv 跳過第一行

python處理csv檔案時,經常需要跳過第一行表頭讀取檔案內容。下面是正常讀取的 import csv with open 2019 04 01.csv r as read file reader csv.reader read file for row in reader print row 如...