我有以下 MySQL 查询,用于查找墨水量并根据最小值进行排序,以便我可以知道哪些墨水快用完了。但是,有些打印机是黑白的,在 C、M 和 Y 列中有 NULL 值。目前,在我的查询中,NULL 值排在最上面,并被视为 0。
SELECT * FROM ink_levels ORDER BY LEAST(ink_c, ink_m, ink_y, ink_k, ink_waste)
有没有办法跳过上述查询中的 NULL 值?
谢谢
我有以下 MySQL 查询,用于查找墨水量并根据最小值进行排序,以便我可以知道哪些墨水快用完了。但是,有些打印机是黑白的,在 C、M 和 Y 列中有 NULL 值。目前,在我的查询中,NULL 值排在最上面,并被视为 0。
SELECT * FROM ink_levels ORDER BY LEAST(ink_c, ink_m, ink_y, ink_k, ink_waste)
有没有办法跳过上述查询中的 NULL 值?
谢谢
您可以使用 COALESCE() 返回列表中第一个非空值。
在你的例子中如果你替换
和
确保数字值高于任何墨水量,这样就可以解决您的问题。
通过这样做,可以确保在 ink 值为空时返回一个高值。然后这个高值将不会位于顶部。