gpt4 book ai didi

sql - ORDER BY 只适用于列吗?

转载 作者:行者123 更新时间:2023-12-04 16:09:23 26 4
gpt4 key购买 nike

为什么 SELECT * FROM TABLE ORDER BY RAND() 有效?我以为 ORDER BY 只适用于列。

那么 ORDER BY RAND()ORDER BY SUM() 到底是什么意思?

最佳答案

您可以按几乎所有内容、函数(如 RAND())、聚合(如 SUM())等进行排序。

例如,MySQL-Documentation声明为语法:

 [ORDER BY {col_name | expr | position}

或者 Postgresql Documentation甚至更明确:

The optional ORDER BY clause has this general form:

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

expression can be the name or ordinal number of an output column (SELECT list item), or it can be an arbitrary expression formed from input-column values.

第二个问题:

  • ORDER BY RAND()ORDER BY RANDOM() 做它所说的:你的行被洗牌,你得到它们的随机顺序。因此,如果您执行 SELECT * FROM ... ORDER BY RAND() LIMIT 1,您会从表中选择一个(=一个)随机行。
  • ORDER BY SUM(Column) 只有与 GROUP BY 语句结合使用才有意义。

关于sql - ORDER BY 只适用于列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com