【发布时间】:2021-06-02 13:56:07
【问题描述】:
我正在尝试按给定值对查询进行排序,如下所示:
ORDER BY FIELD(items.stock_id, 1, 5, NULL, 3, 6)
但它似乎不起作用,并且 null 出现在第一个或最后一个取决于它是否下降。
顺序并不总是相同,因此[1,5,NULL,3,6] 每次都在变化并且是动态的。
【问题讨论】:
我正在尝试按给定值对查询进行排序,如下所示:
ORDER BY FIELD(items.stock_id, 1, 5, NULL, 3, 6)
但它似乎不起作用,并且 null 出现在第一个或最后一个取决于它是否下降。
顺序并不总是相同,因此[1,5,NULL,3,6] 每次都在变化并且是动态的。
【问题讨论】:
FIELD-function 不匹配 NULL-stock_id 作为 NULL 值(NULL 没有任何值)。
您可以使用幻数:
ORDER BY FIELD(IFNULL(items.stock_id,-1), 1, 5, -1, 3, 6)
【讨论】: