|
|
|
Составление sql запроса
|
|||
|---|---|---|---|
|
#18+
Добрый день, нужна помощь, я не могу сообразить... Примерная таблица: id(1,2,3,4,5), spec_time(1085645344,1185645344,1285645344,1385645344,1485645344), spec_position(2,1,3,5,4), update_datetime(1581930967,1481930967,1381930967,1281930967,1181930967) В чем суть... Делаю организацию объявлений, объявления могут быть специальными (если spec_time>UNIX_TIMESTAMP()), Если объявление не специальное, то обычное. Что нужно: Первыми выводятся объявления специальные, т.е. те, у которых spec_time>UNIX_TIMESTAMP(), сортируются они по "spec_position", за ними выводятся все остальные объявления, которые должны сортироваться по update_datetime DESC. Т.о. даже если у объявления стоит "spec_time" но он "просрочен", то должен выводиться в куче с обычными объявлениями сортируясь по "update_datetime". Прошу помощи, сам не могу сообразить... Подскажите хоть куда копать пожалуйста... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 11:52:30 |
|
||
|
Составление sql запроса
|
|||
|---|---|---|---|
|
#18+
Пробовал сделать что-то вроде: ORDER BY case when UNIX_TIMESTAMP()<advert.spec_time then advert.spec_position else advert.update_datetime Но кажется я не угадал... Этот ордер выкидывает наверх спец-объявления, но не сортирует обычные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 12:15:50 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1835636]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 349ms |

| 0 / 0 |
