不可否认,order by 1,里面的1的确代表第一列,但count(1)基本等同于count(*)。
可以做一个简单的验证,order by 后面跟100,假设该表没有100列,肯定报错的。但count()就不同,里面跟数字,字符串什么的,都是可以的。并且count(1)的结果,跟count(*)相同。
而count(第一列)结果未必和count(*)相同。
SQL Server中的count(1)运算,其中的1不是代表第一列
最新推荐文章于 2024-05-19 02:06:45 发布
不可否认,order by 1,里面的1的确代表第一列,但count(1)基本等同于count(*)。
可以做一个简单的验证,order by 后面跟100,假设该表没有100列,肯定报错的。但count()就不同,里面跟数字,字符串什么的,都是可以的。并且count(1)的结果,跟count(*)相同。
而count(第一列)结果未必和count(*)相同。