根据第二个表中的最大值或总计选择行

时间:2013-11-20 13:31:58

标签: sqlite join

我有两个表,用户相册。每个用户可以拥有零个或多个相册。

用户:id,...

相册:id,userId,count ...

表格链接:users.id< - > albums.userId。

albums.count 字段包含相册中的照片数量。

我想得到:

1)拥有最多专辑的用户。

2)拥有最多照片的用户,总计在所有相册中。

我怎么能得到它?

1 个答案:

答案 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
相关问题