SQL: Выборка @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 8 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Заголовок сообщения: SQL: Выборка
Сообщение Добавлено: 17 Апрель 2005, 15:14:42 
Есть MySQL таблица.
В одном из столбцов данные записыавются в формате число1:число2:число3, (например 171:174:3)

Нужно делать выборку строки, с самым большим числом2.

Т.е. нужно отсортировать выборку по числу 2.

Для того чтобы выделить число2, отсортировать по нему и выбрать строку, я использую следующий SQL:

SELECT * FROM `таблица` WHERE `smth`= smth ORDER BY SUBSTRING_INDEX(SUBSTRING_INDEX(`столбик`, ':', 2), ':', -1) DESC LIMIT 1;

Т.е. обычная выборка с использованием функции SUBSTRING_INDEX. Все бы прекрасно, только это не работает. выбор делается, но какой то кривой, вообще сортировка получается неправильная.


Есть ли другой способ отсортировать по Числу2?
Kurilshik
Goldmember
142
Сообщения: 12797
Зарегистрирован: 18.10.04
Откуда: Кожаное кресло
Сообщение Добавлено: 17 Апрель 2005, 15:39:00 
Inviz, переправить базу в массивы и работать с массивами? explode() и тп.?

_________________

Портфолио - ЖЖ - Кулинарные рецепты - Блог о дизайне, уроки фотошоп

icq: 295346452 | Почта: info()alexey-popov.com

.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 17 Апрель 2005, 15:51:53 
Inviz, ты не должен этого хотеть.

Завтра с самого утра отрежьте руки тому, кто спроектировал эту базу и сделайте по-человечески.

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 17 Апрель 2005, 17:38:56 
2Colt
Спасибо большое, все отлично работает!

Crazy
Хе-хе, приму к сведению :D
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 17 Апрель 2005, 20:35:41 
Прошу прощения, тема не закрыта...
Использовав метод Colt'a, выбирать-выбирает, но сортировка не получается правильной. Т.е. выбирает отнюдь не максимальное значение. В чем может быть проблема?
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 17 Апрель 2005, 21:09:12 
Вообще-то, это очевидно.
В том, что ты не выполнил рекомендацию Crazy
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 17 Апрель 2005, 21:17:06 
Inviz, пока не настал понедельник можно почитать раздел "cast functions".

Почему не работает приведенный выше вариант? Хм. А посмотреть в документации, что делают использованные в нем функции -- религия не позволяет?

P.S. А в понедельник -- сделать, как я написал выше.

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 18 Апрель 2005, 15:01:09 
Colt
Все прекрасно, спасибо еще раз
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 8 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100