我有 2 个表 A 和 B,记录如下
--TABLE A--
id date value
1 09/01/2012 Reward
2 09/01/2012 Purchase
3 07/01/2012 Reward
4 07/01/2012 Purchase
--TABLE B--
id id_from_a date value
1 1 10/01/2012 Generated Rewrd
2 3 08/01/2012 Generated Reward
现在我希望结果如下所示
id date value
1 10/01/2012 Generated Reward
1 09/01/2012 Reward
2 09/01/2012 Purchase
3 08/01/2012 Generated Reward
3 07/01/2012 Reward
4 07/01/2012 Purchase
我知道使用 UNIONS
会合并这 2 个表,但我如何像上面提到的那样对其进行排序?
最佳答案
UNION 可以在末尾指定一个 ORDER BY 子句,该子句适用于整个组合结果集。
SELECT id, date, value
FROM table_A
UNION
SELECT id, date, value
FROM table_B
ORDER BY id, date DESC
如果您不需要 UNION 操作的重复数据删除功能,UNION ALL 将产生更好的性能。
SELECT id, date, value
FROM table_A
UNION ALL
SELECT id, date, value
FROM table_B
ORDER BY id, date DESC
关于php - 从 2 个表中选择记录并排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8811033/