我有一个带有两个表的数据库(mysql),一个用于类别,一个用于照片。
并非所有类别都有照片,但带照片的照片会在类别表格中标记为带照片=是。国内类别也有一面旗帜,这是我在这里感兴趣的。照片的等级为1-10。
我想要做的是对标记为国内的类别进行排名=是与最差的照片进行排名(所以我知道要改进哪些内容)。由于有700个类别和约7000张照片,因此搜索会很不错。 :-)
分类表
ID Category_name Photo Domestic
1 CatA yes yes
2 CatB yes yes
3 CatC yes yes
4 CatD yes no
5 CatE no yes
照片桌
ID Cat_ID Grade
1 1 4
2 1 4
3 1 5
4 2 6
5 2 6
6 3 4
7 3 4
8 3 3
9 4 2
所以我希望得到的搜索结果是国内=是的类别,照片=是按类别排列最差的最佳照片:
Category: Grade:
CatC 4
CatA 5
CatB 6
我希望我已经清楚了,这对我有帮助,所以我期待你的解决方案。 :-)
提前致谢!
答案 0 :(得分:0)
你可以尝试:
Select categoryname,max(grade) grade
From categories c join photos p on c.id = p.id and c.domestice = 'yes' group by categoryname;