嘿,我有一个按日期排序的查询,我希望日期与按时间排序相同,以保持稳定的结果。
我有以下查询:
(
SELECT 'album' AS RowType, id, DATE, title, time_added
FROM albums
WHERE is_temp =0
AND subject_id = '3'
)
UNION ALL (
SELECT 'video' AS RowType, id, DATE, title, time_added
FROM videos
WHERE is_temp =0
AND subject_id = '3'
)
UNION ALL (
SELECT 'story' AS RowType, id, DATE, title, time_added
FROM stories
WHERE is_temp =0
AND subject_id = '3'
)
ORDER BY DATE, time_added
哪个效果很好,但我不想选择该time_added
列,因为我的结果集中不需要它。
我能以某种方式实现这一目标吗?如果我删除 time_add 查询将不会运行。
我发现了以下内容:
ORDER BY 子句导致对输出行进行排序。
ORDER BY 的参数是用作排序键的表达式列表。对于简单的 SELECT,表达式不必是结果的一部分,但在复合 SELECT 中,每个排序表达式必须与结果列之一完全匹配。每个排序表达式可以可选地后跟一个 COLLATE 关键字和用于排序文本的排序函数的名称和/或关键字 ASC 或 DESC 以指定排序顺序。
我无法决定是否意味着这是不可能的,或者我应该更加努力。