mysql - mysql中如何比较2个表

标签 mysql

我有两个表,名为 joy_galleryjoy_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.jpg1 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/

相关文章:

mysql - 如何将此 mysql 查询转换为 Django 查询?

Mysql插入2个表

Java 数据库添加到我删除的行?

mysql - mysql 导出此表时创建的语法不正确?

python - 用 Python 编写此 SQL 的更好方法

mysql - RODBC 字符串被截断

mysql - 结合多个选择查询问题

mysql - 连接三个表并在 SQL 中获取特定结果

c# - 无法从 C# Windows 应用程序连接到 MySQL

mysql - 没有加入mysql的组