我有2个表,Chapter
表有很多行,其中manga_id是id Manga
表
漫画表
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
我非常感谢任何人回答这个主题并节省我的一天
答案 0 :(得分:1)
SELECT t1.MANGA_ID, t2.NAME AS Manga_NAME,t1.NAME,t1.slug,t1.CREATED_AT
FROM Chapter t1
INNER JOIN Manga t2 ON t1.MANGA_ID = t2.ID
WHERE t1.CREATED_AT = (SELECT MAX(CREATED_AT) from Chapter t3 where t3.MANGA_ID = t1.MANGA_ID)
答案 1 :(得分:1)
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
这应该可以解决问题。