在Sql Server中选择一行作为第一行而不使用order by
例如:在Sql Server中选择一行作为第一行而不使用order by,sql,sql-server,Sql,Sql Server,例如: id name agreement 32 fahid 52 43 nahid 51 31 zal 52 希望通过协议进行选择,但我希望为给定的id保持顶部,如果我使用order by,则始终对id进行排序。 如果我使用agreement=52和id=32进行搜索,则预期结果: 32 fahid 52 31 fahid 52 您可以按类似顺序使用多个字段 按id订购,协议试试这个 DECLARE @id INT DECLARE @agreement INT
id name agreement
32 fahid 52
43 nahid 51
31 zal 52
希望通过协议进行选择,但我希望为给定的id
保持顶部,如果我使用order by
,则始终对id进行排序。
如果我使用agreement=52
和id=32
进行搜索,则预期结果:
32 fahid 52
31 fahid 52
您可以按类似顺序使用多个字段
按id订购,协议
试试这个
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
输出
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;
SELECT * FROM Persons WHERE ROWNUM <=5;
甲骨文语法
SELECT column_name(s)FROM table_name WHERE ROWNUM <= number;
从ROWNUM所在的表\u name中选择列\u name如果您想要输出的特定顺序,则必须使用排序依据
。如果表中没有列可以用来获得您想要的顺序,那么您什么也做不了。标题太误导人了不使用SQL server中的order by
。请发布您的select语句,以便我可以给您答案。请检查标题。。我不知道这是否是他的问题的答案虽然他说没有使用orderby,这在我看来是不可能的,但是当你阅读他的问题时,这对我来说是有意义的。这个问题被标记为SQL Server。