在没有 where 子句的 SQL 查询中选择什么值作为参数
What value is selected into parameter in SQL query without where clause
比如我有这个查询
SELECT @param = column from table
什么值被拉入@param?
我试过了,但无法弄清楚正在提取的值。不是旧记录也不是新记录。
documentation 状态:
the variable is assigned the last value that is returned
但是,如果没有唯一标识行的 WHERE
子句,也没有指定唯一排序值的 ORDER BY
子句,则当 table不止一行。
您可以将 ORDER BY
添加到 return 最后排序行的查询中。一种更有效的方法是使用 SELECT TOP(1)...ORDER BY...DESC
。相反,SELECT TOP(1)...ORDER BY...ASC
将 return 第一个有序行。同样,列的顺序对于确定性值必须是唯一的。
这是引用列中的值。似乎它应该有一个 TOP 1,其中一个 WHERE 子句旨在仅获取 1 行。
比如我有这个查询
SELECT @param = column from table
什么值被拉入@param?
我试过了,但无法弄清楚正在提取的值。不是旧记录也不是新记录。
documentation 状态:
the variable is assigned the last value that is returned
但是,如果没有唯一标识行的 WHERE
子句,也没有指定唯一排序值的 ORDER BY
子句,则当 table不止一行。
您可以将 ORDER BY
添加到 return 最后排序行的查询中。一种更有效的方法是使用 SELECT TOP(1)...ORDER BY...DESC
。相反,SELECT TOP(1)...ORDER BY...ASC
将 return 第一个有序行。同样,列的顺序对于确定性值必须是唯一的。
这是引用列中的值。似乎它应该有一个 TOP 1,其中一个 WHERE 子句旨在仅获取 1 行。