gpt4 book ai didi

php - 使用 sum 和 join

转载 作者:行者123 更新时间:2023-11-29 14:29:31 24 4
gpt4 key购买 nike

我对网站进行了编程,但无法正确执行此查询。

我有一个包含 channel 的表格

select * from `channels` 

我还有另一个表,其中包含查看网站中每个页面的统计信息。

为了获取对特定 channel 的所有访问,我将编写

SELECT SUM(ip) AS visits FROM `log` where `module` = 'channels' and mid = '15'

其中 15 等于 channels 表中的行 ID。

我需要编写的查询应该使用带有总和的联接来从 channel 中选择 * 并添加一个额外的单元格(值)来获取 channel 中每个 id 的访问次数。

<小时/>

从评论到答案:

The table called Channels contains columns id and name. The table called Log contains columns ip, module, mid. The log.module = 'channel'; log.mid = channel.id. Every channel id (such as '15') can get all of its visits by the query SELECT SUM(ip) AS visits FROM log where module = 'channels' and mid = '15'.

大致:

CREATE TABLE Channels (ID INTEGER, Name CHAR(30), PRIMARY KEY ID);
CREATE TABLE Log (IP CHAR(16), Module CHAR(10), MID INTEGER REFERENCES Channels(ID));

最佳答案

既然您提到您不熟悉 SQL 连接,也许您会发现 Wikipedia articleW3Schools lesson关于主题的信息(这些是我在 Google 中搜索“SQL join”时的前 2 个结果)。

如果失败,请点击 MySQL function reference 中有关 SUM() 的链接将其中一个转到 GROUP BY (Aggregate) functions 上的一页,这是对答案的强烈暗示。

SELECT channels.*, SUM(ip) AS visits
FROM
channels JOIN log ON (
log.module = 'channels' AND
log.mid = channels.id -- or whatever is the appropriate column in `channels`
)
GROUP BY log.mid;

关于php - 使用 sum 和 join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273397/

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