继承我正在使用的查询:
SELECT * FROM inventory WHERE status='live' and price<='50' ORDER BY id DESC;
显示50美元以下的所有商品。但是它还显示超过100美元的所有物品?我猜这个问题与这些价格是三位数有关。另外值得一提的是价格也包括.00后的价格。
任何指针?
答案 0 :(得分:1)
我认为问题是你有50个引号。 MySql可能将它视为一个字符串。
... AND price <= 50 ORDER BY ....
答案 1 :(得分:0)
如果price column数据类型为&#34; CHAR&#34; (字符串),&#34; 100&#34;,&#34; 49999&#34;都是&lt; =&#34; 50&#34;。将一种或两种数据类型(列和比较)更改为DECIMAL(10,2)或其他数字类型。