Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私が使用しているクエリは次のとおりです。
SELECT * FROM inventory WHERE status='live' and price<='50' ORDER BY id DESC;
50ドル未満のすべてのアイテムを表示しています。しかし、100ドルを超えるすべてのアイテムも表示されますか? この問題は、これらの価格が 3 桁になっていることと関係があると思います。言及すべきもう1つのことは、価格には価格の後に.00も含まれていることです.
ポインタはありますか?
問題は、引用符で 50 を持っていることだと思います。MySql はおそらく文字列のように扱っています。
... AND price <= 50 ORDER BY ....
price 列のデータ型が "CHAR" (文字列) の場合、"100" と "49999" はどちらも <= "50" です。一方または両方のデータ型 (列と比較) を DECIMAL(10,2) または別の数値型に変更します。