Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cho hai bảng, chọn tất cả dữ liệu từ một bảng và chỉ dữ liệu gần đây nhất từ ​​bảng kia

Trước tiên, hãy tìm bài đăng mới nhất trong mỗi danh mục:

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

Sau đó, thêm điều kiện đó vào điều kiện tham gia của bạn:

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. Sự cố với mysqldump:- tùy chọn --defaults-extra-file không hoạt động như mong đợi

  2. tôi có thể cấu hình cron job cho localhost không

  3. Đặt NOW () làm Giá trị Mặc định cho kiểu dữ liệu datetime?

  4. MySQL:chỉ chọn email từ một bảng nếu không có trong bảng khác?

  5. Tìm và thay thế một phần văn bản trong một trường bằng MySQL