|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
34762
|
|