繁体   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