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




MySQL.RU - Webboard



Вернуться
Составить запрос, пустые и непустые поля (DARX) 24/12/2008 - 18:16:15
      Re: Составить запрос, пустые и непустые поля (omickron) 24/12/2008 - 22:35:51

> Original message text:
> From: DARX - 24/12/2008 - 18:16:15
> Subject:Составить запрос, пустые и непустые поля
> -----------------
> Доброго времени суток!
>
> Прошу помочь - не могу составить правильный запрос.
>
> Задача
> Вывести все записи из таблицы table_name. Условия выборки:
> 1. По убыванию поля price (int 10)
> 2. Сначала записи с непустым значением поля photo (varchar(255)), затем с пустым значением этого поля.
>
> Сначала я подумал сделать так:
>
> SELECT * FROM table_name ORDER BY price DESC, photo DESC
>
>
> Делал из тех соображений, что пустая строка по сути меньше непустой (для сортировки).
> По цене выводилось верно. Но проблема в том, что отсортировав одинаковые по цене записи, СУБД сортирует записи с фото уже "внутри" этих записей. Таки образом второе условие не соблюдается.
>
> Надеюсь на вашу помощь :)
>


From: omickron - 24/12/2008 - 22:35:51
Subject:Составить запрос, пустые и непустые поля
-----------------
Твой запрос выдаст тебе записи в таком порядке:

1 15р 'C:\123.txt'
2 15р ''
3 10р 'C:\123.txt'
4 10р ''
...............

Если тебе нужно, чтоб сначала выводились те записи, в которых есть фото, отсортированные по цене, а потом - те записи, в которых эта строка пустая, то просто поменяй порядок сортировки:
SELECT * FROM table_name ORDER BY photo DESC, price DESC
Таким образом СУБД будет сортировать сначала по фото, а потом уже по цене.


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

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

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



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