silent9
23.10.2012 - 17:09
Есть база с полями id, title, type
в type может быть только 3 значения (gold, silver, standart)
как составить запрос чтобы первыми шли записи gold, потом silver, а после них standart
SELECT * FROM table ORDER BY Field(type, 'gold','silver','standart') не подходит
нельзя ограничить выборку определенного типа, чтобы например gold вывелось 3 записи, silver 2 и все остальные standart
ORDER BY type
должен вывести в нужном порядке
silent9
23.10.2012 - 20:55
order by type не подходит, при изменении значений все перемешается и по limit не ограничить, кроме union еще можно как-то сделать одним запросом?
SlavaFr
24.10.2012 - 14:23
проще всего это зделать посредством UNION и Limit
пример и объяснение:
http://dev.mysql.com/doc/refman/5.0/en/union.html(SELECT * FROM table where `type`= 'gold' limit 3)
UNION
(SELECT * FROM table where `type`= 'silver' limit 2)
UNION
(SELECT * FROM table where `type`= 'standart')
_____________
↓↓↓↓↓↓↓↓↓↓ответ может быть здесьили в mysql_error();