我有两个表,用户和相册。每个用户可以拥有零个或多个相册。
表用户:id,...
表相册:id,userId,count ...
表格链接:users.id< - > albums.userId。
albums.count 字段包含相册中的照片数量。
我想得到:
1)拥有最多专辑的用户。
2)拥有最多照片的用户,总计在所有相册中。
我怎么能得到它?
答案 0 :(得分:2)
对于第一个,您可以使用:
SELECT users.*
COUNT(albums.id) as albumNumber
FROM users
INNER JOIN albums ON users.id = albums.userId
GROUP BY users.id
ORDER BY albumNumber DESC
LIMIT 0,1
第二个:
SELECT users.*
SUM(albums.count) as photosNumber
FROM users
INNER JOIN albums ON users.id = albums.userId
GROUP BY users.id
ORDER BY photosNumber DESC
LIMIT 0,1