我对网站进行了编程,但无法正确获取此查询。
我有一个包含频道的表
select * from `channels`
我还有另一个表,其中包含查看站点中每个页面的统计信息。
为了获得对特定频道的所有访问,我会写
SELECT SUM(ip) AS visits FROM `log` where `module` = 'channels' and mid = '15'
其中 15 等于channels
表中一行的 id。
我需要编写的查询应该使用带有 sum 的连接select * from channels
并添加一个额外的单元格(值)来获取 Channels 中每个 id 的访问次数。
从评论到答案:
名为 Channels 的表包含列 id 和 name。名为 Log 的表包含列 ip、module、mid。
log.module = 'channel'
; _log.mid = channel.id
. 每个频道 id(例如 '15')都可以通过查询获得其所有访问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));