Как запросить в базе данных промежуточное значение и отсортировать по ближайшему? - PullRequest
0 голосов
/ 08 декабря 2010

Я ищу значение в моей базе данных MySQL и хочу отсортировать результаты по ближайшим элементам.

Пример:

Я ищу значение 150 в моем запросеТеперь я делаю следующее:

SELECT * FROM table WHERE field BETWEEN 100 AND 200
100 и 200 вычисляются ранее путем простого сложения и вычитания.Но теперь мои результаты испорчены, потому что это возвращает мне результаты, как будто они были сохранены в базе данных.

Можно ли отсортировать результаты в MySQL или мне нужно потом сортировать их с помощью PHP?

Ответы [ 2 ]

1 голос
/ 08 декабря 2010

вы должны иметь возможность добавить заказ по пункту, например, так:

ORDER BY ABS(150-field)
0 голосов
/ 08 декабря 2010
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.

...