0

MySQL データベースで値を検索していて、結果を最も近い項目で並べ替えたいと考えています。

例:

クエリ内で 150 の値を検索し、次のようにします。

SELECT * FROM table WHERE field BETWEEN 100 AND 200
100 と 200 は、前に簡単な足し算と引き算で計算されます。しかし、データベースに保存されたように結果が返されるため、結果が台無しになりました。

MySQL 内で結果をソートすることは可能ですか、それとも後から PHP でソートする必要がありますか?

4

2 に答える 2

1

次のように order by 句を追加できるはずです。

ORDER BY ABS(150-field)
于 2010-12-08T11:25:49.047 に答える
0
SELECT * 
FROM table 
WHERE field BETWEEN 100 AND 200
ORDER BY field

または、次のようなものが必要でしたか

SELECT * 
FROM table 
WHERE field BETWEEN 100 AND 200
ORDER BY ABS(150-field)

?

とにかく、SQL スキルをすぐに始めるのに役立つインタラクティブなオンライン SQL チュートリアルがあります。

于 2010-12-08T11:25:16.283 に答える