Mysql
 sql >> база данни >  >> RDS >> Mysql

Като имате две таблици, изберете всички данни от една таблица и само най-новите от другата

Първо намерете най-новата публикация във всяка категория:

select topic_cat, max(topic_id) as latest_topic
from topics group by topic_cat

След това добавете това към вашите условия за присъединяване:

SELECT  c.cat_name AS Category, t.topic_name AS Recent_Topic 
FROM categories c
left JOIN topics t on c.cat_id = t.topic_cat 
left join (select topic_cat, max(topic_id) as latest_topic
        from topics group by topic_cat) as latest_topics 
        on latest_topics.topic_cat = c.cat_id
        and latest_topics.latest_topic = t.topic_id 
where latest_topics.topic_cat is not null or t.topic_cat is null;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLSTATE[HY000] [1045] Достъпът е отказан за потребител 'root'@'localhost' (използвайки парола:ДА) symfony2

  2. Как да покажа първата буква като главна?

  3. Мога ли да използвам VARCHAR като ПЪРВИЧЕН КЛЮЧ?

  4. Условия за състезание на MySQL

  5. Параметър на JDBC verifyServerCertificate=false свързва без необходимост от клиентско хранилище за ключове и хранилище за доверие