mysql 按字段排序,空值最后
我在按子句的顺序使用 FIELD 函数时遇到了问题。
我的情况是产品可以有三个类别,用户可以选择要首先显示的类别。因此,可以形成三种可能的查询。这些是:
查询 1
SELECT
*
FROM
my_table
WHERE
main_categories_id = 2
ORDER BY FIELD(product_condition,
'graded',
'new',
'used');
查询 2
SELECT
*
FROM
my_table
WHERE
main_categories_id = 2
ORDER BY FIELD(product_condition,
'new',
'graded',
'used');
查询 3
SELECT
*
FROM
my_table
WHERE
main_categories_id = 2
ORDER BY FIELD(product_condition,
'used',
'new',
'graded');
当产品条件为 NULL 时,这不能很好地工作,因为它始终首先显示具有 NULL 值的行。我需要这些出现在最后。
我尝试将NULL添加到FIELD函数,但这似乎不起作用。
有谁知道我能做到这一点的方法吗?
感谢您的帮助。