Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相同的SQL语句给出不同的结果_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

相同的SQL语句给出不同的结果

相同的SQL语句给出不同的结果,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我从视图中选择了行(视图中的where子句是关于静态数据的)。 如果我运行下面的SQL,每次都会得到相同的结果。 我希望RecordSID是相同的,并且顺序相同,但是它们完全不同 我正在使用SQL Server 2012。 有人能解释为什么结果不同吗 我们必须查看视图的定义。假设视图被定义为 select top 5 * from MyTable 该视图每次调用时可能返回5个不同的行。 或者,视图被设计为返回随机选择的行 我们必须查看视图的定义。假设视图被定义为 select top 5 *

我从视图中选择了行(视图中的where子句是关于静态数据的)。 如果我运行下面的SQL,每次都会得到相同的结果。 我希望RecordSID是相同的,并且顺序相同,但是它们完全不同

我正在使用SQL Server 2012。 有人能解释为什么结果不同吗


我们必须查看视图的定义。假设视图被定义为

select top 5 * from MyTable
该视图每次调用时可能返回5个不同的行。
或者,视图被设计为返回随机选择的行

我们必须查看视图的定义。假设视图被定义为

select top 5 * from MyTable
该视图每次调用时可能返回5个不同的行。
或者,视图被设计为返回随机选择的行

到底是什么问题?
orderby
子句告诉它按数字排序,发布的屏幕截图显示结果是按顺序返回的。他/她想知道为什么在每种情况下都不返回相同的五个
RecordId
s有可能是有人捉弄了你吗?是否有人创建了两列:
Recordld
RecordId
,第一列是小写字母L,另一列是大写字母i?我想,自从您第一次查询以来,您的数据已经更改了……这是使用
选择前5名的视图吗?到底是什么问题?
orderby
子句告诉它按数字排序,发布的屏幕截图显示结果是按顺序返回的。他/她想知道为什么在每种情况下都不返回相同的五个
RecordId
s有可能是有人捉弄了你吗?是否有人创建了两列:
Recordld
RecordId
,第一列是小写字母L,另一列是大写字母i?我估计自从第一次查询以来,您的数据已经更改了…这是使用
选择前5行的视图吗?我编写了该视图,它不是为了返回不同的行,然而,视图上也没有orderby。但是你是对的,视图上有一个前5名,这是否意味着在选择不同的东西时顺序不同?我在视图中放置了一个order by,现在它按我希望的方式工作。需要澄清的是,没有order by的TOP查询不能保证返回哪些行。没有order by,结果永远不可能是相同的。我写了这个视图,它的设计不是为了返回不同的行,但是视图上也没有orderby。但是你是对的,视图上有一个前5名,这是否意味着在选择不同的东西时顺序不同?我在视图中放置了一个order by,现在它按我希望的方式工作。需要澄清的是,没有order by的TOP查询不能保证返回哪些行。没有order by,结果永远不可能一模一样。