Mysql - 从3个不同的表中获取最新内容

时间:2014-02-21 07:03:31

标签: mysql

我有3个mysql表,如下所示:

a) books -> id, name, price, date

b) audio -> id, name, price, date

c) parfume -> id, name, price, date

注意:所有日期均为php time()格式。

现在;我可以通过他们的date价值得到最新添加的10条记录吗?

例如:

1- hobbit book -> 10.10.2013 09:10

2-  metallica cd -> 10.10.2013 06:10

3-  dostoyevski book -> 10.09.2013 15:00

4-  armani parfume -> 10.09.2013 10:00

5-  madonna cd -> 10.08.2013 16:00

6-  ....

2 个答案:

答案 0 :(得分:0)

试试这个

select * from (select * from books 
           union 
           select * from audio 
           union 
           select * from parfume )
  order by date desc limit 10

答案 1 :(得分:0)

确保转换MySql中的日期列,以便order by子句以正确的顺序返回结果。

SELECT * FROM (
   SELECT  id, name, price, STR_TO_DATE(date, '%c/%e/%Y %r') FROM books
   union
   SELECT  id, name, price, STR_TO_DATE(date, '%c/%e/%Y %r') FROM audio
   union
   SELECT  id, name, price, STR_TO_DATE(date, '%c/%e/%Y %r') FROM parfume
) as T1
ORDER BY T1.date desc
LIMIT 10