[英]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
我想输出:所有类别,每个类别应显示:
所需的输出:
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
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.