ech*_*cho 139 sql sql-order-by
我正在阅读工作中的一些旧代码,并注意到有几个带有order by 1
子句的视图.这取得了什么成果?
例:
Create view v_payment_summary AS
SELECT A.PAYMENT_DATE,
(SELECT SUM(paymentamount)
FROM payment B
WHERE PAYMENT_DATE = B.PAYMENT_DATE
and SOME CONDITION) AS SUM_X,
(SELECT SUM(paymentamount)
FROM payment B
WHERE PAYMENT_DATE = B.PAYMENT_DATE
and SOME OTHER CONDITION) AS SUM_Y
FROM payment A
ORDER BY 1;
Run Code Online (Sandbox Code Playgroud)
OMG*_*ies 180
这个:
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)
...被称为"序数" - 该数字代表基于SELECT子句中定义的列数的列.在您提供的查询中,它表示:
ORDER BY A.PAYMENT_DATE
Run Code Online (Sandbox Code Playgroud)
这不是推荐的做法,因为:
dav*_*n11 37
当您使用基于集合的运算符(例如union)时,这很有用
select cola
from tablea
union
select colb
from tableb
order by 1;
Run Code Online (Sandbox Code Playgroud)