gpt4 book ai didi

mysql - 组合两个 mysql Select 语句,以便我可以对结果数据进行排序

转载 作者:行者123 更新时间:2023-11-29 15:09:03 25 4
gpt4 key购买 nike

我想知道是否有一种方法可以将其从两个查询简化为单个查询。我希望能够在从数据库中提取数据时对数据进行排序,这样我就可以做到这一点。

表格设置如下:

table: files
------------------------
fileID (INT) | domainID (INT)
------------------------

table: domains
------------------------
domainID (INT) | domainName (text)
------------------------

table: serverFiles
------------------------
fileID (INT) | uniqueUploads (INT)
------------------------

我当前首先运行此查询:

SELECT domains.domainName, files.fileID, COUNT(files.fileID) 
FROM domains, files
WHERE files.domainID = domains.domainID
GROUP BY files.domainID;

然后循环该查询的结果,我使用第一个查询生成的 fileID ($fileIDFromFirstQuery) 运行第二个查询:

SELECT serverFiles.uniqueUploads 
FROM serverFiles
WHERE serverFiles.fileID = '$fileIDFromFirstQuery';

结果如下:

Domains     |   Files with Domain | Unique Uploads 
--------------------------------------------------
domain1.com 32 1412
domain2.com 21 699
domain3.com 52 293

最佳答案

我认为这应该有效:

SELECT domains.domainID, domainName, COUNT(*), SUM(uniqueUploads)
FROM domains
INNER JOIN files ON files.domainID = domains.domainID
INNER JOIN serverFiles on serverFiles.fileID = files.fileID
GROUP BY domains.domainID, domainName

预计到达时间:

也许我没有看到这里的所有内容,但为什么不直接删除 serverFiles 表并将“uniqueUploads”放在文件表上呢?除非您可能在多个域之间共享文件,在这种情况下这是有意义的。

关于mysql - 组合两个 mysql Select 语句,以便我可以对结果数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1342849/

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