我正在阅读工作中的一些旧代码,并注意到有几个视图具有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;

当前回答

这将根据返回的第一列对结果进行排序。在本例中,它将根据payment_date排序。

其他回答

这将根据返回的第一列对结果进行排序。在本例中,它将根据payment_date排序。

它只是指根据查询结果的第一列对视图或表进行排序。

我相信在Oracle中,这意味着按列#1排序

ORDER BY 1表示按结果集的第一列排序

SELECT case when b.salary is null then a.employee_id else b.employee_id end employee_id FROM Employees a FULL JOIN Salaries b on b. employee_id = a.employee_id WHERE b.salary is null or a.employee_id is null order by 1

它只是指根据查询结果的第一列对视图或表进行排序。在这个查询上面,'employee_id'列是第一列,但是这个列是从两个表中选择的,这就是为什么要使用这种类型的排序。