我正在阅读一些旧的代码,并注意到有几个带有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;
答案 0 :(得分:160)
此:
ORDER BY 1
...被称为“序数” - 该数字代表基于SELECT子句中定义的列数的列。在您提供的查询中,它表示:
ORDER BY A.PAYMENT_DATE
这不是推荐的做法,因为:
答案 1 :(得分:32)
当您使用基于集合的运算符时,这非常有用,例如联合
select cola
from tablea
union
select colb
from tableb
order by 1;
答案 2 :(得分:7)
我相信Oracle它意味着按列#1排序
答案 3 :(得分:6)
这将按返回的第一列对结果进行排序。在示例中,它将按payment_date排序。
答案 4 :(得分:5)
它只是意味着通过第一列查询结果对视图或表进行排序。
答案 5 :(得分:3)
如第一栏中的其他答案ORDER BY 1
命令所述。
我遇到了另一个你可能会使用它的例子。我们有一些需要订购的查询选择相同的列。如果按以下Name
排序,则会出现SQL错误。
SELECT Name, Name FROM Segment ORDER BY 1
答案 6 :(得分:-1)
另见:
http://www.techonthenet.com/sql/order_by.php
有关订购的说明。我学到了什么! :)
当我想在sql语句中添加不确定数量的过滤器时,我也曾使用过它。马虎我知道,但它确实有效。 :P
答案 7 :(得分:-1)
示例测试WAMP服务器数据库的示例: -
mysql> select * from user_privileges;
| GRANTEE | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+--------------------+---------------+-------------------------+--------------+
| 'root'@'localhost' | def | SELECT | YES |
| 'root'@'localhost' | def | INSERT | YES |
| 'root'@'localhost' | def | UPDATE | YES |
| 'root'@'localhost' | def | DELETE | YES |
| 'root'@'localhost' | def | CREATE | YES |
| 'root'@'localhost' | def | DROP | YES |
| 'root'@'localhost' | def | RELOAD | YES |
| 'root'@'localhost' | def | SHUTDOWN | YES |
| 'root'@'localhost' | def | PROCESS | YES |
| 'root'@'localhost' | def | FILE | YES |
| 'root'@'localhost' | def | REFERENCES | YES |
| 'root'@'localhost' | def | INDEX | YES |
| 'root'@'localhost' | def | ALTER | YES |
| 'root'@'localhost' | def | SHOW DATABASES | YES |
| 'root'@'localhost' | def | SUPER | YES |
| 'root'@'localhost' | def | CREATE TEMPORARY TABLES | YES |
| 'root'@'localhost' | def | LOCK TABLES | YES |
| 'root'@'localhost' | def | EXECUTE | YES |
| 'root'@'localhost' | def | REPLICATION SLAVE | YES |
| 'root'@'localhost' | def | REPLICATION CLIENT | YES |
| 'root'@'localhost' | def | CREATE VIEW | YES |
| 'root'@'localhost' | def | SHOW VIEW | YES |
| 'root'@'localhost' | def | CREATE ROUTINE | YES |
| 'root'@'localhost' | def | ALTER ROUTINE | YES |
| 'root'@'localhost' | def | CREATE USER | YES |
| 'root'@'localhost' | def | EVENT | YES |
| 'root'@'localhost' | def | TRIGGER | YES |
| 'root'@'localhost' | def | CREATE TABLESPACE | YES |
| 'root'@'127.0.0.1' | def | SELECT | YES |
| 'root'@'127.0.0.1' | def | INSERT | YES |
| 'root'@'127.0.0.1' | def | UPDATE | YES |
| 'root'@'127.0.0.1' | def | DELETE | YES |
| 'root'@'127.0.0.1' | def | CREATE | YES |
| 'root'@'127.0.0.1' | def | DROP | YES |
| 'root'@'127.0.0.1' | def | RELOAD | YES |
| 'root'@'127.0.0.1' | def | SHUTDOWN | YES |
| 'root'@'127.0.0.1' | def | PROCESS | YES |
| 'root'@'127.0.0.1' | def | FILE | YES |
| 'root'@'127.0.0.1' | def | REFERENCES | YES |
| 'root'@'127.0.0.1' | def | INDEX | YES |
| 'root'@'127.0.0.1' | def | ALTER | YES |
| 'root'@'127.0.0.1' | def | SHOW DATABASES | YES |
| 'root'@'127.0.0.1' | def | SUPER | YES |
| 'root'@'127.0.0.1' | def | CREATE TEMPORARY TABLES | YES |
| 'root'@'127.0.0.1' | def | LOCK TABLES | YES |
| 'root'@'127.0.0.1' | def | EXECUTE | YES |
| 'root'@'127.0.0.1' | def | REPLICATION SLAVE | YES |
| 'root'@'127.0.0.1' | def | REPLICATION CLIENT | YES |
| 'root'@'127.0.0.1' | def | CREATE VIEW | YES |
| 'root'@'127.0.0.1' | def | SHOW VIEW | YES |
| 'root'@'127.0.0.1' | def | CREATE ROUTINE | YES |
| 'root'@'127.0.0.1' | def | ALTER ROUTINE | YES |
| 'root'@'127.0.0.1' | def | CREATE USER | YES |
| 'root'@'127.0.0.1' | def | EVENT | YES |
| 'root'@'127.0.0.1' | def | TRIGGER | YES |
| 'root'@'127.0.0.1' | def | CREATE TABLESPACE | YES |
| 'root'@'::1' | def | SELECT | YES |
| 'root'@'::1' | def | INSERT | YES |
| 'root'@'::1' | def | UPDATE | YES |
| 'root'@'::1' | def | DELETE | YES |
| 'root'@'::1' | def | CREATE | YES |
| 'root'@'::1' | def | DROP | YES |
| 'root'@'::1' | def | RELOAD | YES |
| 'root'@'::1' | def | SHUTDOWN | YES |
| 'root'@'::1' | def | PROCESS | YES |
| 'root'@'::1' | def | FILE | YES |
| 'root'@'::1' | def | REFERENCES | YES |
| 'root'@'::1' | def | INDEX | YES |
| 'root'@'::1' | def | ALTER | YES |
| 'root'@'::1' | def | SHOW DATABASES | YES |
| 'root'@'::1' | def | SUPER | YES |
| 'root'@'::1' | def | CREATE TEMPORARY TABLES | YES |
| 'root'@'::1' | def | LOCK TABLES | YES |
| 'root'@'::1' | def | EXECUTE | YES |
| 'root'@'::1' | def | REPLICATION SLAVE | YES |
| 'root'@'::1' | def | REPLICATION CLIENT | YES |
| 'root'@'::1' | def | CREATE VIEW | YES |
| 'root'@'::1' | def | SHOW VIEW | YES |
| 'root'@'::1' | def | CREATE ROUTINE | YES |
| 'root'@'::1' | def | ALTER ROUTINE | YES |
| 'root'@'::1' | def | CREATE USER | YES |
| 'root'@'::1' | def | EVENT | YES |
| 'root'@'::1' | def | TRIGGER | YES |
| 'root'@'::1' | def | CREATE TABLESPACE | YES |
| ''@'localhost' | def | USAGE | NO |
+--------------------+---------------+-------------------------+--------------+
85 rows in set (0.00 sec)
如果给予额外的order by PRIVILEGE_TYPE
或者可以给予order by 3
。请注意第3列(PRIVILEGE_TYPE
)按字母顺序排序。
mysql> select * from user_privileges order by PRIVILEGE_TYPE;
+--------------------+---------------+-------------------------+--------------+
| GRANTEE | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+--------------------+---------------+-------------------------+--------------+
| 'root'@'127.0.0.1' | def | ALTER | YES |
| 'root'@'::1' | def | ALTER | YES |
| 'root'@'localhost' | def | ALTER | YES |
| 'root'@'::1' | def | ALTER ROUTINE | YES |
| 'root'@'localhost' | def | ALTER ROUTINE | YES |
| 'root'@'127.0.0.1' | def | ALTER ROUTINE | YES |
| 'root'@'127.0.0.1' | def | CREATE | YES |
| 'root'@'::1' | def | CREATE | YES |
| 'root'@'localhost' | def | CREATE | YES |
| 'root'@'::1' | def | CREATE ROUTINE | YES |
| 'root'@'localhost' | def | CREATE ROUTINE | YES |
| 'root'@'127.0.0.1' | def | CREATE ROUTINE | YES |
| 'root'@'::1' | def | CREATE TABLESPACE | YES |
| 'root'@'localhost' | def | CREATE TABLESPACE | YES |
| 'root'@'127.0.0.1' | def | CREATE TABLESPACE | YES |
| 'root'@'::1' | def | CREATE TEMPORARY TABLES | YES |
| 'root'@'localhost' | def | CREATE TEMPORARY TABLES | YES |
| 'root'@'127.0.0.1' | def | CREATE TEMPORARY TABLES | YES |
| 'root'@'localhost' | def | CREATE USER | YES |
| 'root'@'127.0.0.1' | def | CREATE USER | YES |
| 'root'@'::1' | def | CREATE USER | YES |
| 'root'@'localhost' | def | CREATE VIEW | YES |
| 'root'@'127.0.0.1' | def | CREATE VIEW | YES |
| 'root'@'::1' | def | CREATE VIEW | YES |
| 'root'@'127.0.0.1' | def | DELETE | YES |
| 'root'@'::1' | def | DELETE | YES |
| 'root'@'localhost' | def | DELETE | YES |
| 'root'@'::1' | def | DROP | YES |
| 'root'@'localhost' | def | DROP | YES |
| 'root'@'127.0.0.1' | def | DROP | YES |
| 'root'@'127.0.0.1' | def | EVENT | YES |
| 'root'@'::1' | def | EVENT | YES |
| 'root'@'localhost' | def | EVENT | YES |
| 'root'@'127.0.0.1' | def | EXECUTE | YES |
| 'root'@'::1' | def | EXECUTE | YES |
| 'root'@'localhost' | def | EXECUTE | YES |
| 'root'@'127.0.0.1' | def | FILE | YES |
| 'root'@'::1' | def | FILE | YES |
| 'root'@'localhost' | def | FILE | YES |
| 'root'@'localhost' | def | INDEX | YES |
| 'root'@'127.0.0.1' | def | INDEX | YES |
| 'root'@'::1' | def | INDEX | YES |
| 'root'@'::1' | def | INSERT | YES |
| 'root'@'localhost' | def | INSERT | YES |
| 'root'@'127.0.0.1' | def | INSERT | YES |
| 'root'@'127.0.0.1' | def | LOCK TABLES | YES |
| 'root'@'::1' | def | LOCK TABLES | YES |
| 'root'@'localhost' | def | LOCK TABLES | YES |
| 'root'@'127.0.0.1' | def | PROCESS | YES |
| 'root'@'::1' | def | PROCESS | YES |
| 'root'@'localhost' | def | PROCESS | YES |
| 'root'@'::1' | def | REFERENCES | YES |
| 'root'@'localhost' | def | REFERENCES | YES |
| 'root'@'127.0.0.1' | def | REFERENCES | YES |
| 'root'@'::1' | def | RELOAD | YES |
| 'root'@'localhost' | def | RELOAD | YES |
| 'root'@'127.0.0.1' | def | RELOAD | YES |
| 'root'@'::1' | def | REPLICATION CLIENT | YES |
| 'root'@'localhost' | def | REPLICATION CLIENT | YES |
| 'root'@'127.0.0.1' | def | REPLICATION CLIENT | YES |
| 'root'@'::1' | def | REPLICATION SLAVE | YES |
| 'root'@'localhost' | def | REPLICATION SLAVE | YES |
| 'root'@'127.0.0.1' | def | REPLICATION SLAVE | YES |
| 'root'@'127.0.0.1' | def | SELECT | YES |
| 'root'@'::1' | def | SELECT | YES |
| 'root'@'localhost' | def | SELECT | YES |
| 'root'@'127.0.0.1' | def | SHOW DATABASES | YES |
| 'root'@'::1' | def | SHOW DATABASES | YES |
| 'root'@'localhost' | def | SHOW DATABASES | YES |
| 'root'@'127.0.0.1' | def | SHOW VIEW | YES |
| 'root'@'::1' | def | SHOW VIEW | YES |
| 'root'@'localhost' | def | SHOW VIEW | YES |
| 'root'@'localhost' | def | SHUTDOWN | YES |
| 'root'@'127.0.0.1' | def | SHUTDOWN | YES |
| 'root'@'::1' | def | SHUTDOWN | YES |
| 'root'@'::1' | def | SUPER | YES |
| 'root'@'localhost' | def | SUPER | YES |
| 'root'@'127.0.0.1' | def | SUPER | YES |
| 'root'@'127.0.0.1' | def | TRIGGER | YES |
| 'root'@'::1' | def | TRIGGER | YES |
| 'root'@'localhost' | def | TRIGGER | YES |
| 'root'@'::1' | def | UPDATE | YES |
| 'root'@'localhost' | def | UPDATE | YES |
| 'root'@'127.0.0.1' | def | UPDATE | YES |
| ''@'localhost' | def | USAGE | NO | +--------------------+---------------+-------------------------+--------------+
85 rows in set (0.00 sec)
绝对是一个很长的答案和很多滚动。
此外,我努力将查询的输出传递给文本文件。
以下是如何在不使用恼人的into outfile
事物 -
发表E:/sqllogfile.txt;
完成后,停止记录 -
开球;
希望它增加更多清晰度。