我需要从有序(按datetime
)表中获取最后9行。
自从我使用...
SELECT fecha_hora
, estado_viejo
FROM cambios_de_estado
WHERE usuario_id = '35512'
ORDER BY fecha_hora DESC
LIMIT 9
...输出反转。
我需要先下订单。
查询时间更长。这对我来说是棘手的部分。
答案 0 :(得分:1)
使用子查询:
SELECT ce.*
FROM (SELECT fecha_hora, estado_viejo
FROM cambios_de_estado
WHERE usuario_id= '35512'
ORDER BY fecha_hora DESC
LIMIT 9
) ce
ORDER BY fecha_hora ASC
答案 1 :(得分:1)
您可以将查询包装在另一个查询中,按fecha_hora
列升序对外部查询进行排序:
SELECT t.*
FROM (
SELECT fecha_hora
, estado_viejo
FROM cambios_de_estado
WHERE usuario_id = '35512'
ORDER BY fecha_hora DESC
LIMIT 9
) AS t
ORDER BY t.fecha_hora ASC
答案 2 :(得分:1)
由于不清楚,您可能需要重新编辑提问方式。
但是您可能需要使用
ASC代替DESC
ASC表示旧日期到新日期(递增) DESC表示新日期到旧日期(递减)
SELECT fecha_hora
, estado_viejo
FROM cambios_de_estado
WHERE usuario_id = '35512'
ORDER BY fecha_hora ASC
LIMIT 9