Using Union All and Order By in MySQL

前端 未结 2 1397
春和景丽
春和景丽 2021-01-19 03:50

I\'ve 2 tables:

create table advertised_products(id int,title varchar(99),timestamp timestamp);
insert advertised_products select 1,\'t1\',curdate();

create         


        
相关标签:
2条回答
  • 2021-01-19 04:25

    Wrap it in a subquery.

    SELECT s.*
    FROM
        (
            SELECT  ap.*, 'advertised'  as type 
            FROM advertised_products as ap
              union all
            SELECT  wp.*, 'wanted' as type 
            FROM wanted_products as wp
        ) s
    ORDER BY s.timestamp desc 
    limit 3
    
    0 讨论(0)
  • 2021-01-19 04:26

    Error lies in here,

     "ORDER BY timestamp desc limit 3"
    

    as you are combining the two tables query must know which fields are you using in which table.clearly that you are missing the table reference in your "orderby" clause

    mention the table name/alias of the table name like below

     "ORDER BY your_table_name.timestamp desc limit 3"
    
    0 讨论(0)
提交回复
热议问题