当前位置:  开发笔记 > 后端 > 正文

ORDER BY只适用于列吗?

如何解决《ORDERBY只适用于列吗?》经验,为你挑选了1个好方法。

SELECT * FROM TABLE ORDER BY RAND()工作为什么?我认为ORDER BY只适用于列.

那么究竟是什么意思ORDER BY RAND()还是ORDER BY SUM()



1> theomega..:

你可以通过几乎所有的东西,函数(如RAND()),聚合(如SUM())等来订购.

例如,MySQL-Documentation表示为语法:

 [ORDER BY {col_name | expr | position}

或者Postgresql文档更加明确:

可选的ORDER BY子句具有以下通用形式:

ORDER BY expression [ ASC | DESC | USING operator ] [, ...]

expression可以是输出列的名称或序号(SELECT列表项),也可以是由输入列值组成的任意表达式.

对于你的第二个问题:

ORDER BY RAND()或者ORDER BY RANDOM()说它的内容:你的行被扭转了,你可以随机顺序得到它们.所以,如果你做了一个,SELECT * FROM ... ORDER BY RAND() LIMIT 1你从表中选择一个(= 1)随机行.

ORDER BY SUM(Column)只有与GROUP BY陈述相结合才有意义.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有