我正在比较3
不同网站的产品价格。所以我有3
不同的价格。如果网站不提供该产品,其价格为空。
MySQL看起来像这样:
**id | name | price_1 | price_2 | price 3**
我想从所有3个网站上提供的产品中对其进行排序。对于仅在一个网站上提供的产品。
我无法弄清楚如何处理这个问题!
答案 0 :(得分:0)
如果空字段具有NULL值,则可以使用
SELECT * FROM sometable ORDER BY ISNULL(price_1) + ISNULL(price_2) + ISNULL(price_3) DESC;
但更明智的解决方案是:
优点:
COUNT(*)
第二个表中产品的条目,以了解列出的产品数量答案 1 :(得分:0)
试试这个:
SELECT *, (IF(price_1 IS NULL,0,1) + IF(price_2 IS NULL,0,1) + IF(price_3 IS NULL,0,1)) AS odr FROM `test1` ORDER BY odr DESC