Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Оптимизировать сортировку (Антон) 22/09/2012 - 07:26:16
      Re: Оптимизировать сортировку (Akina) 22/09/2012 - 22:45:38
      Re: Оптимизировать сортировку (Антон) 23/09/2012 - 07:01:58
      Re: Оптимизировать сортировку (Akina) 24/09/2012 - 11:13:29

> Original message text:
> From: Антон - 22/09/2012 - 07:26:16
> Subject:Оптимизировать сортировку
> -----------------
> Вобщем вот такой запрос на обновление номера в рейтинге с многосложным условием и сортировкой по 6 полям. Есть ощущение что от многочисленных IF можно исбавиться
> UPDATE
> cb_data114
> SET
> `f1346` =
> (
> select @num
> from (SELECT @num:=1, @type:=0) s
> where
> (@num := if(`f1652` = @type,@num + 1, 1)) is not null
> and (@type := f1652) is not null
> )
> where status=0
> ORDER BY
> `f1656`,
> `f1652`,
> IF (`f1353` = '0000-00-00 00:00:00' and `f1348`='',3,`f1634`),
> IF (`f1353`!= '0000-00-00 00:00:00' and `f1348`!='',f1353,now()),
> IF (`f1353` = '0000-00-00 00:00:00' and `f1348`!='',1,0),
> IF (`f1348` = '', 99999999999999999, CAST(`f1348` as UNSIGNED) )
> Первый IF - если дата и f1348 пустые то опускать в самый низ,т.к. в табле 2-максимальное значение среди искомых.
> Второй - если нет даты и поле f1348 пустое - ставить текущую дату. чтоб опустить в низ рейтинга
> Третий - если дата пустая и f1348 не пустая то опустить в низ
> Четвертый - если f1348 пустое очень большое значение (не достижимое) чтоб опустить вниз
>


From: Антон - 23/09/2012 - 07:01:58
Subject:Оптимизировать сортировку
-----------------
За тем что мне нужно обновить данные в отсортированные в определенном порядке. Это обновление рейтинга.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
41683



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |