繁体   English   中英

mysql查询:查询嵌套(?)

[英]mysql query: query nested (?)

您好,这是我的数据结构:

categories
id   name
----------------
1    dogs    
2    cats
3    birds

images
id   name   cat  datetime     views
---------------------------------------
1    dog1   1    2015-10-01   123
2    dog2   1    2015-10-02   45
3    cat1   2    2015-10-03   678
4    cat2   2    2015-11-01   901
5    cat3   2    2015-11-02   234
6    bird1  3    2015-12-03   456

我想输出:所有类别,每个类别应显示:

  • 图片数量
  • 最大观看次数
  • 最新图片的日期
  • 最新文件的ID

所需的输出:

cat  name     images  views   latest       id_latest
----------------------------------------------------
1    dogs     2       123     2015-10-02   5
2    cats     3       901     2015-11-02   4
3    birds    1       456     2015-12-03   6

到目前为止我的查询:

Select
  categories.*,
  Count(images.id) As images,
  Sum(images.views) As views,
  Max(images.datetime) As latest

From
  categories 
  Left Join images On images.catid =  categories.id 
Group By
  categories.id

问题是:我将如何获取最后一个字段id_latest

谢谢

Select t.*, i.id as imageID 
  from 
    (Select 
        categories.*,
        Count(images.id) As images,
        Sum(images.views) As views,
        Max(images.datetime) As latest
      From categories 
      Left Join 
        images 
        On images.catid =  categories.id 
      Group By categories.id
    ) t
  left join 
    images i 
    on i.`datetime`= latest

sqlfiddle上的示例

您的表必须是这样的:

categories
catid   name
----------------
1    dogs    
2    cats
3    birds

images
imgid   name   catid  datetime     views
---------------------------------------
1    dog1   1    2015-10-01   123
2    dog2   1    2015-10-02   45
3    cat1   2    2015-10-03   678
4    cat2   2    2015-11-01   901
5    cat3   2    2015-11-02   234
6    bird1  3    2015-12-03   456

和代码:

 Select
  categories.catid,
  categories.name,
  Count(images.imgid) As images,
  Sum(images.views) As views,
  Max(images.datetime) As latest

From
  categories 
  Left Join images On images.catid =  categories.catid 
Group By
  categories.catid, categories.name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM