gpt4 book ai didi

mysql - 选择具有最大平均值的元素

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:55 34 4
gpt4 key购买 nike

在我的数据库中,我有以下架构:

table: files
columns: fileId, authorId, fileSize

table: authors
columns: authorId, surname, firstName

现在 id 喜欢选择平均文件大小最高的作者的 authorId。我现在对如何最好地加入这些表格有点无能为力。我已经能够为作者选择平均文件大小,但现在必须扩展它以与每个作者一起工作。

SELECT AVG(`fileSize`) FROM (
SELECT `fileSize`, `files`.`authorId` FROM `files`
INNER JOIN `authors` aut ON `files`.authorId = aut.authorId
WHERE aut.authorId = 6)
as T;

最佳答案

如果只需要authorId,可以只通过files表查找:

SELECT authorId
FROM files
GROUP BY authorId
ORDER BY AVG(fileSize) DESC
LIMIT 1 ;

如果您还需要该作者的其他数据,您可以将前一个派生表插入到 authors 中:

SELECT a.*                         -- the columns you need
FROM authors AS a
JOIN
( SELECT authorId
FROM files
GROUP BY authorId
ORDER BY AVG(fileSize) DESC
LIMIT 1
) AS m
ON m.authorId = a.authorId ;

关于mysql - 选择具有最大平均值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20127181/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com