Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите, пожалуйста. Скажем в таблице есть колонка с ценой table.price,
price=10
price=15
price=20
я делаю запрос
select * from table where price='13'
Учитывая, что такой цены нет, то данные возвращены не будут, но мне надо вернуть price='15'
и/или price='10'. т.е. максимально близкое значение, в большую и/или меньшую сторону.
Как это сделать
Неактивен
select * from table where price>='13' order by price limit 1; -- вернет ближайшее в большую сторону, если нет точного совпадения.
Неактивен
Дело в том что мне нужно вернуть не одно ближайшее, а все ближайшие. Т.е. все price=15
Неактивен
Неактивен
Спасибо за ответ. Только думал, может в Mysql какая-то функция для этого дела есть навроде min, max
Неактивен
Подскажите, пожалуйста. Мне нужно вернуть максимальную и минимальную величину название фирмы, где продается товар.
Я делаю так
Неактивен
Отредактированно invisible73 (28.02.2013 18:47:42)
Неактивен
Так не надо выбирать - потому что пытаетесь одновременно выбрать колонку (name_org) и скалярное значение (min_price) - это некорректно. MySQL такое позволяет, но это не повод .
Лучше
Неактивен
Спасибо за ответ. Как то не подумал, что нужно просто отсортировать в нужную сторону по нужной колонке. Хотя вроде запрос проще некуда.
Неактивен
ASC я насколько понимаю не обязательный параметр, тк. он сортирует сначала. Только тогда не ясно зачем он нужен, если по умолчанию уже установлена такая сортировка?
Отредактированно platedz (01.03.2013 00:42:24)
Неактивен