MySQL:按列对2(或更多)个表中的行进行排序

时间:2011-11-20 00:37:41

标签: mysql sql

我正在尝试按时间对不同表中的数据进行排序。 我有桌子:

书: book_id | book_name | book_time

影: movie_id | movie_name | movie_time

我想一起选择最新的书籍和电影。我想把它排序为:ORDER BY book_time DESC 但对于两个表。我用连接尝试了它但它不是很好而且它也很慢。

1 个答案:

答案 0 :(得分:3)

我经常试图远离子查询,但如果你把联盟放在一个,你可以很容易地按时间排序:

SELECT id, name, time
FROM
(
    SELECT book_id id, book_name name, book_time time FROM books
    UNION
    SELECT movie_id id, movie_name name, movie_time time FROM movies
) booksandmovies
ORDER BY time DESC;