Xpoint
   [напомнить пароль]

Вывод рез-тов поиска по базе коллекции mp3

Метки: [без меток]
2006-06-29 15:28:02 [обр] Superman(0/16)[досье]

Имеются поля:
id, name, artist, album, comp

Записи ищуться по полям name & comp.
Треб-ся вывести сначала те записи, у кот.

  1. album и comp пусты
  2. comp пусто
  3. все поля заполнены

Причем все это с постраничным выводом...

Как это можно осуществить?
Спасибо

спустя 34 минуты [обр] Алексей Севрюков(7/1292)[досье]
Superman[досье] ORDER BY, и в нем пишите условия как сортировать. Получится не красиво, но работаеть будет. Вообще конечно проще и красивее завести дополнительное поле и в зависимости от значения полей давать ему нужное значени. А результаты сортировать по этому полю.
спустя 7 минут [обр] Superman(0/16)[досье]

Трогать таблицу нельзя.
Нужно сделать по тому что имеется :)

Про order by не совсем понял...
Вот так?

order by artist DESC, album DESC, comp DESC

спустя 7 минут [обр] Алексей Севрюков(7/1292)[досье]

Superman[досье]
На работоспособность не проверял:

ORDER BY IF(ISNULL(album) AND ISNULL(comp),0,IF(ISNULL(comp),1,2))

Если у Вас пустые поля неNULL, а пустые строки, то:

ORDER BY IF(album='' AND comp='',0,IF(comp='',1,2))
спустя 1 минуту [обр] Алексей Севрюков(7/1292)[досье]
Superman[досье] Да, при Вашем подходе у Вас альбомы и композиции тоже пересортируются в обратном порядке, что Вам совсем не нужно, я полагаю?
спустя 9 минут [обр] Superman(0/16)[досье]
Алексей Севрюков[досье]
Ваш второй ORDER BY как раз то, что нужно! Благодарю!
спустя 21 минуту [обр] Алексей Севрюков(7/1292)[досье]
Superman[досье] Только это далеко не лучшее решение ввиду своей тормознутости. В идеале надо конечно заводить дополнительное поле.
спустя 23 минуты [обр] Superman(0/16)[досье]
Да, не спорю :)
Записей в таблице фиксировано (может это все-таки повлияет на ск-ть? :)).
спустя 52 минуты [обр] Алексей Севрюков(7/1292)[досье]
нет. Запросу все равно сколько записей в таблице, но не все равно как их сортировать. Ведь он будет вычислять выражение ORDER BY для каждой записи, в а случае дополнительного поля и индекса на него - нет.
Powered by POEM™ Engine Copyright © 2002-2005