gpt4 book ai didi

mysql - "ORDER BY ' column_name ' DESC",但是字母前的数字需要两个语句?

转载 作者:行者123 更新时间:2023-11-29 07:18:15 32 4
gpt4 key购买 nike

我想在数据库中选择数据并按字母顺序排序,但先是数字,然后是字母。

我的表格示例:

                    watch_date
474 1442437 2181257 2015-12-20 Modern Family 3 13 Little Bo Bleep
475 1442437 2189485 2015-12-21 Modern Family 3 14 Me? Jealous?
476 1442437 2209159 2015-12-22 Modern Family 3 15 Aunt Mommy
477 1442437 2237415 2015-12-22 Modern Family 3 16 Virgin Territory
478 1442437 2244103 2015-12-22 Modern Family 3 17 Leap Day
479 1442437 2239817 2015-12-24 Modern Family 3 18 Send Out the Clowns
480 1442437 2305713 2015-12-24 Modern Family 3 19 Election Day
481 1442437 2305715 2016-01-02 Modern Family 3 20 The Last Walt
482 1442437 2247703 2016-01-03 Modern Family 3 21 Planes, Trains and Cars
483 1553656 2656658 unknown Under the Dome 1 1 Pilot
484 1553656 2779640 unknown Under the Dome 1 2 The Fire
485 1553656 2821206 unknown Under the Dome 1 3 Manhunt

我想使用第四列(包含日期和文本“未知”(称为“watch_date”)的列)进行排序

此列中的数据可以是文本未知,也可以是格式为YYYY-MM-DD的日期

为此,我使用以下查询:

SELECT * FROM `watched_episodes` ORDER BY `watch_date` + 0 DESC, `watch_date` DESC

我认为 + 0 部分向所有结果添加了 0,但是当我不添加第二个 ORDER BY 语句时:

`watch_date` DESC

它确实将数字(日期)放在字母之前,但似乎根本没有对日期进行排序。

最佳答案

嗯,您的查询完全错误。由于使用单引号,它应该会给出错误。我假设你打算:

SELECT *
FROM watched_episodes
ORDER BY watch_date + 0 DESC, watch_date DESC;

这似乎是一个奇怪的方法。如果值始终为 'Unknown'YYYY-MM-DD 格式的字符串,我会选择:

ORDER BY (watch_date = 'unknown'),  -- USE `DESC` to put `unknown` first
watch_date DESC

关于mysql - "ORDER BY ' column_name ' DESC",但是字母前的数字需要两个语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37102351/

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