mysql when case多重排序

SELECT

*, CASE

WHEN NOW() >= act_start_datetime

AND act_end_datetime >= NOW() THEN

0

WHEN NOW() > act_start_datetime THEN

1

ELSE

2

END hd_state

FROM

talent_content

ORDER BY

hd_state,

CASE

WHEN (hd_state = 0 OR hd_state = 1) THEN

act_start_datetime

END ASC,

CASE

WHEN hd_state = 2 THEN

act_start_datetime

END DESC

你可能感兴趣的:(mysql when case多重排序)