gpt4 book ai didi

mysql - 按连接表分组和排序

转载 作者:行者123 更新时间:2023-11-29 05:46:27 25 4
gpt4 key购买 nike

我在对必须在 Mysql 中分组的表进行排序时遇到问题。

这是我的表格设置。

所有者表

  • 所有者编号 |所有者姓名
  • 1 |测试负责人 1
  • 2 |测试负责人 2
  • 3 |测试负责人 3

图片上传表

  • 图像编号 |图片名称 |所有者编号 |上传日期
  • 1 |图片1.jpg | 2 | 2009 年 4 月 8 日
  • 2 |图片2.jpg | 1 | 2009 年 4 月 8 日
  • 3 |图片3.jpg | 3 | 2009 年 4 月 8 日
  • 4 |图片4.jpg | 1 | 2009 年 4 月 8 日
  • 5 |图片5.jpg | 3 | 2009 年 4 月 8 日

owner_id 字段是自动递增的,image_id 字段也是。

我想做的是获取最后三张上传图片的 owner_name,但不是同一所有者。因此,在该示例中,我希望它返回以下结果。

测试负责人 3测试所有者 1测试所有者 2

在该示例中,最后一个上传的所有者是测试所有者 3,然后是测试所有者 1,然后是测试所有者 2。

我正在使用以下查询,但它没有返回正确的结果

$sql = "SELECT u.*, s.* FROM UPLOAD_TBL u, OWNER_TBL s WHERE u.ownerid = s.owner_id
GROUP BY s.owner_id ORDER BY u.image_id DESC LIMIT 0, 3";

如能提供任何有关设置此查询的帮助,我们将不胜感激。

最佳答案

看看是否可以对聚合图像 ID 进行排序:

select s.owner_id, s.owner_name, max(u.imag_id) as last_image_id
from UPLOAD_TBL u
inner join OWNER_TBL s on s.ownerid = u.owner_id
group by s.owner_id, s.owner_name
order by last_image_id desc
limit 3

关于mysql - 按连接表分组和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1264287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com