簡體   English   中英

在Sql Server中不使用order by選擇行作為第一行

[英]selecting a row as first row without using order by in Sql Server

例:

id  name  agreement
32  fahid   52
43  nahid   51
31  zal     52

想通過協議選擇,但我想保持給定id頂部,如果我使用order by那么總是id被排序。 如果我搜索agreement=52id=32然后預期的結果:

32 fahid 52
31 fahid 52

您可以order by id,agreement使用多個字段

嘗試這個

DECLARE @id INT
DECLARE @agreement INT

SET @id = 32
SET @agreement = 52

SELECT [id]
, (SELECT [name] FROM Table1 WHERE [id] = @id) AS [name]
, [agreement] FROM Table1 
WHERE [agreement] = @agreement

SQL FIDDLE DEMO

OUTPUT

id  name    agreement
32  fahid   52
31  fahid   52

在mysql中使用LIMIT

MySQL語法

SELECT column_name(s)FROM table_name WHERE (condition) LIMIT number;

SELECT * FROM Persons WHERE agreement=52 LIMIT 5;

Oracle語法

SELECT column_name(s)FROM table_name WHERE ROWNUM <= number; 

SELECT * FROM Persons WHERE ROWNUM <=5;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM