|
|
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Есть БД, в ней куча полей, но 2 важных для сортировки.. 1. поле price 2. поле count Вот выборка из бд с сортировкой по ценнику: SELECT `count`, `price` FROM `catalog` WHERE `price`>0 ORDER by `price`; Задача: сортировка по цене, но вверху должны быть поля в которых count>0, ниже все остальные которые count=0 отсортированные по цене.. Круил вертел, не получается одним запросом.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 16:00:04 |
|
||
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Разобрался: SELECT * FROM (SELECT `count`, `price` FROM `catalog` WHERE `price`>0 ORDER by `price` LIMIT 0, 20) a ORDER BY `count` DESC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 16:06:40 |
|
||
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Не. не то.. буду в 2 запроса делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 16:31:11 |
|
||
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
V2oD2oЗадача: сортировка по цене, но вверху должны быть поля в которых count>0, ниже все остальные которые count=0 отсортированные по цене.. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 16:36:55 |
|
||
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Там немного сложенее, надо чтоб выводило сортированные count>0 и count=0 (SELECT * FROM (SELECT price,count FROM catalog WHERE count>0 AND price>0 ORDER BY price) a ORDER by iscount) UNION (SELECT * FROM (SELECT price,count FROM catalog WHERE count=0 AND price>0 ORDER BY price) a ORDER by price) вроде как то так: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 16:47:29 |
|
||
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
V2oD2oТам немного сложенее, надо чтоб выводило сортированные count>0 и count=0 (SELECT * FROM (SELECT price,count FROM catalog WHERE count>0 AND price>0 ORDER BY price) a ORDER by iscount) UNION (SELECT * FROM (SELECT price,count FROM catalog WHERE count=0 AND price>0 ORDER BY price) a ORDER by price) вроде как то так: может стоит всётаки внимательно почитать овтет?! написали ведь order by count=0, price обясняю сортируеться по двум полям. первое поле - равно либо 0 либо 1, ибо каунт либо равно либо не равно нулю. второе поле прайс. сначала пойдут все записи где каунт равно нулю, с сортировкой по цене, потом все где не равно нулю с сортировкой по цене ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 18:18:21 |
|
||
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
alex564657498765453сначала пойдут все записи где каунт равно нулю ... потом все где не равно нулюнаоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 18:42:44 |
|
||
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
V2oD2o Код: sql 1. 2. 3. вроде как то так:Не так. То, что получен верный порядок - счастливая случайность, а не гарантированность. В любой момент имеет право "поломаться". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 19:10:37 |
|
||
|
Хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
V2oD2o, Код: sql 1. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 10:57:53 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=152&tid=1833816]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
61ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 325ms |

| 0 / 0 |
