order by 3
时间: 2023-12-26 09:26:54 浏览: 144
根据提供的引用内容,ORDER BY后面的数字代表的是SELECT语句中的第几列,而不是列别名。因此,使用ORDER BY 3将按照SELECT语句中第三个列进行排序。
如果要使用列别名进行排序,需要在ORDER BY子句中使用完整的列别名,例如在引用中,可以使用以下语句进行排序:
```sql
SELECT 姓名 AS Name, 地址 AS Address, 城市 AS City FROM Customers ORDER BY Name, Address, City
```
关于为什么不推荐使用ORDER BY后接数字来排序,可能是因为这种方式不够直观,容易出错。而且,如果SELECT语句中的列顺序发生变化,那么ORDER BY后面的数字也需要相应地进行修改,不够灵活。
至于为什么视图和子查询里面不能使用ORDER BY,可能是因为这些语句本身就是用来生成数据的,而不是用来展示数据的。因此,排序应该在最终的SELECT语句中进行,而不是在视图或子查询中进行。
阅读全文