我有两个表,名为 joy_gallery
和 joy_category
。
joy_gallery
╔════╦════════╦════════╗ ║ id ║ cat_id ║ images ║ ╠════╬════════╬════════╣ ║ 1 ║ 1 ║ a.png ║ ║ 2 ║ 1 ║ a1.png ║ ║ 3 ║ 2 ║ b1.png ║ ║ 4 ║ 1 ║ c.jpg ║ ║ 5 ║ 2 ║ d.jng ║ ║ 6 ║ 2 ║ a1.png ║ ╚════╩════════╩════════╝
joy_category
╔═════╦══════════╦═════════════╗ ║ Cid ║ category ║ Description ║ ╠═════╬══════════╬═════════════╣ ║ 1 ║ onam ║ xcfghhyjkk ║ ║ 2 ║ xmas ║ hjytigkuyy ║ ╚═════╩══════════╩═════════════╝
我将比较两个表,显示两个类别和每个类别的最后一张图像,1 onam c.jpg
和 1 xmas a1.jpg
.我正在使用这个 mysql 代码:
SELECT *
FROM joy_gallery INNER JOIN joy_category ON joy_gallery.cat_id = joy_category.Cid
ORDER BY joy_category.Cid DESC;
但它不起作用。显示第一个类别和来自同一类别的 2 个图像。我该如何解决这个问题?如何显示类别中的最后一张图片?
最佳答案
试试这个:
SELECT j1.* FROM joy_gallery j1
JOIN (SELECT cid, MAX(cid) id FROM joy_category GROUP BY cid) j2
ON j1.cat_id = j2.cid ;
关于mysql - mysql中如何比较2个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379348/