Определенное значение (только одно), которое должно быть первым в результате запроса. Порядок отдыха по времени - PullRequest
1 голос
/ 31 декабря 2010

У меня есть запрос результатов поиска сообщений.И я хочу, чтобы сообщения, написанные мной (userId = 27), были первыми в результате запроса, а остальные упорядочены по отметке времени.Кто-нибудь может дать мне запрос на это в MySQL?

Ответы [ 3 ]

3 голосов
/ 31 декабря 2010
select *
from posts
order by 
  if (userid=27, -1, any_timestamp_include_zero);

гораздо лучше поможет ваша полная схема таблиц

1 голос
/ 31 декабря 2010

Как насчет чего-то вроде:

select * from post
order by 
    case 
        when userid = 25 then '0001-01-01 00:00:00' 
        else my_timestamp
    end

(форматирование части '0001-01-01' соответствует MySql)

0 голосов
/ 31 декабря 2010

Что-то простое, как это:

SELECT * FROM POST WHERE userId = 25
UNION
SELECT * FROM POST WHERE userId <> 25 ORDER BY TIMESTAMP_FIELD

Может ли работать для вас?

...