脚本宝典收集整理的这篇文章主要介绍了php – mysql order by字段为NULL值最后,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的情况是一个产品可以有三个类别,用户可以选择什么类别来显示.所以有三种可能的查询可以形成.这些是:
查询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,'used');
查询3
SELECT * FROM my_table WHERE main_categories_id = 2 ORDER BY FIELD(product_condition,'used','graded');
当产品条件为NULL时,它不能正常工作,因为它始终显示具有NULL值的行.我需要这些最后出现.
谢谢你的帮助.
ORDER BY product_condition IS NULL,FIELD(...)
这是因为product_condition IS NULL对于非NULL列将为0,对于NULL列为1;以(默认)升序排列,前者显然会先到.
>依赖于NULL按照排序顺序排序,并将参数反转到FIELD()的事实:
ORDER BY FIELD(product_condition,...) DESC
以上是脚本宝典为你收集整理的php – mysql order by字段为NULL值最后全部内容,希望文章能够帮你解决php – mysql order by字段为NULL值最后所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。