gpt4 book ai didi

mysql - 当 ORDER BY 被赋予一个数字时会发生什么?

转载 作者:行者123 更新时间:2023-11-29 06:17:12 26 4
gpt4 key购买 nike

我刚刚开始学习MySQL,我正在看的书上有以下示例:

SELECT last_name, first_name, birth FROM president
ORDER BY IF(birth IS NULL,0,1), birth DESC;

我想知道的是这些数字(0和1)如何影响ORDER BY的行为——当你给ORDER BY一个数字时,它会做什么用它做什么?

我发现的一个提示是随机排序是通过以下方式完成的:

SELECT * from TABLE ORDER BY rand();

但我还是不知道为什么它会起作用。

最佳答案

它对数据进行排序,以便 IF(birth IS NULL, 0, 1) 返回 0 的行出现在返回 1 的行之前。

您可能会注意到,这与您编写以下内容时发生的情况有很大不同:

ORDER BY 1;

在本例中,它按结果列表中的第一列排序。这是过时的语法,但 SQL 标准仍然要求。

关于mysql - 当 ORDER BY 被赋予一个数字时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5774809/

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