如何先 return 具有特定值的行并按不同的列排序?
How do I return rows with a specific value first and order by a different column?
我需要编写一个查询,首先提取具有特定 ID 的记录,然后按不同的列对列表的其余部分进行排序
这是我到目前为止所做的,但它不是按分数排序,只有在顶部有我需要的 ID 的 ID
SELECT *
FROM answer
WHERE parentid = '{$question_id}'
ORDER BY CASE id WHEN '{$answerid}' THEN 1 ELSE score END DESC
试试这个:
SELECT *
FROM answer
WHERE parentid = '{$question_id}'
ORDER BY CASE id WHEN '{$answerid}' THEN 1 ELSE 2 END ASC, score DESC
我需要编写一个查询,首先提取具有特定 ID 的记录,然后按不同的列对列表的其余部分进行排序
这是我到目前为止所做的,但它不是按分数排序,只有在顶部有我需要的 ID 的 ID
SELECT *
FROM answer
WHERE parentid = '{$question_id}'
ORDER BY CASE id WHEN '{$answerid}' THEN 1 ELSE score END DESC
试试这个:
SELECT *
FROM answer
WHERE parentid = '{$question_id}'
ORDER BY CASE id WHEN '{$answerid}' THEN 1 ELSE 2 END ASC, score DESC