我有 2 个表,Chapter 表有很多行,manga_id 是 Manga 表的 id

漫画 table

ID | NAME      | SLUG
1    One Piece   one-piece
2    Naruto      naruto
3    Gintama     gintama

章节表
MANGA_ID | NAME    | SLUG             | CREATED_AT
1          Chap 1    One-Piece-Chap-1   2016/01/01
1          Chap 2    One-Piece-Chap-2   2016/01/02
1          Chap 3    One-Piece-Chap-3   2016/01/03
2          Chap 1    Naruto-Chap-1      2016/01/02
2          Chap 2    Naruto-Chap-2      2016/01/03
2          Chap 3    Naruto-Chap-3      2016/01/04
3          Chap 1    Gintama-Chap-1     2016/01/07
3          Chap 4    Gintama-Chap-4     2016/01/09

我正在寻找只有 1 部漫画有 1 章,按 created_at DESC 订购

我正在寻找的示例表:
Manga_ID | Manga_NAME | NAME    | SLUG             | CREATED_AT
3          Gintama      Chap 4    Gintama-Chap-4     2016/01/09
2          Naruto       Chap 3    Naruto-Chap-3      2016/01/04
1          One Piece    Chap 3    One-Piece-Chap-3   2016/01/03

我真的很感谢任何人回答这个话题并拯救我的一天

最佳答案

SELECT mt.id as MANGA_ID, mt.NAME as MANGA_NAME, ct.NAME, ct.SLUG, MAX(ct.CREATED_AT) as CREATED_AT FROM Chapter ct LEFT JOIN Manga mt ON (mt.id = ct.MANGA_ID) GROUP BY ct.MANGA_ID
这应该可以解决问题。

关于php - 使用一对多关系表仅选择具有最大字段的一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35825311/

10-13 00:17