我希望从表中获取第一行(按date
降序排序),然后获取其余行(按last_name
升序排序)。我假设我需要使用UNION语句,但是我无法让它工作。
提前致谢
答案 0 :(得分:2)
为什么不运行两个查询?这似乎是一个明显的答案。
并非每项任务都需要在单个查询中完成。您是否也在一个语句中编写了所有PHP代码? ; - )
答案 1 :(得分:2)
假设使用MySQL,您可以使用:
(SELECT t.*
FROM TABLE t
ORDER BY t.date DESC
LIMIT 1)
UNION
(SELECT t.*
FROM TABLE t
ORDER BY t.last_name)
您需要将语句封装在括号中以应用ORDER BY - 否则,ORDER BY将应用于UNION之后的结果集。
答案 2 :(得分:2)
SELECT *
FROM yourtable
ORDER BY
id = (SELECT id FROM yourtable ORDER BY date DESC LIMIT 1) DESC,
last_name