gpt4 book ai didi

mysql left join order by null values 到最后

转载 作者:可可西里 更新时间:2023-11-01 06:53:26 24 4
gpt4 key购买 nike

数据库

SELECT * FROM media
LEFT JOIN media_priority
ON (media_priority.media_id = media.id AND media_priority.media_tag = '".$tag."')
WHERE something = 'something'
ORDER BY media_priority.media_order;

除了 media_priority.media_order 有时返回为 null 并且 mysql 将 null 值放在顶部之外,这工作正常。

所以我想弄清楚如何用我的左连接执行 IS NULL AS tempcol 语句,这样我就可以先按它进行排序.....我似乎无法获得正确的语法。

在上面的查询中,我应该把 IS NULL 语句放在什么地方?

我在想:

LEFT JOIN media_priority
ON (media_priority.media_id = media.id AND media_priority.media_tag = '".$tag."')
media_priority.media_order IS NULL AS isnull

但这不起作用。

最佳答案

ORDER BY 
CASE WHEN media_priority.media_order IS NULL THEN 1 ELSE 0 END,
media_priority.media_order;

或者如果您有某个 media_order 永远无法达到的上限,则使用魔数(Magic Number)。

ORDER BY 
COALESCE( media_priority.media_order,99999999);

第一种方法显然更安全一些!

关于mysql left join order by null values 到最后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4326343/

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