これがクエリです
SELECT * FROM TABLE WHERE id = '7883c2c8e6' AND value> '45'DESC
しかし、何らかの理由で、フィールド値の値が8である行が返されています。チェックしましたが、前後の文字がありません。このフィールドは現在varcharとして設定されています。これが結果に影響を与える可能性があるかどうか疑問に思いましたか?
>の方向を<に変更すると、この行は表示されませんが、確かに逆になりますか?
The field is currently set as varchar
それが問題です。テキスト フィールドで比較演算子を使用すると、結果は数値順ではなくアルファベット順に並べ替えられます。
これを回避するには、代わりにフィールドを整数に設定します。
SELECT * FROM TABLE
WHERE id = '7883c2c8e6' AND (value * 1) > 45
order by value DESC