【问题标题】:Mysql order by field with given values which has NULL in betweenMysql按具有给定值的字段排序,其间为NULL
【发布时间】:2021-06-02 13:56:07
【问题描述】:

我正在尝试按给定值对查询进行排序,如下所示:

ORDER BY FIELD(items.stock_id, 1, 5, NULL, 3, 6)

但它似乎不起作用,并且 null 出现在第一个或最后一个取决于它是否下降。

顺序并不总是相同,因此[1,5,NULL,3,6] 每次都在变化并且是动态的。

【问题讨论】:

    标签: mysql sql laravel


    【解决方案1】:

    FIELD-function 不匹配 NULL-stock_id 作为 NULL 值(NULL 没有任何值)。

    您可以使用幻数:

    ORDER BY FIELD(IFNULL(items.stock_id,-1), 1, 5, -1, 3, 6)
    

    【讨论】:

    • nvm 那是我的错。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多