サイトをプログラミングしていますが、このクエリを正しく取得できません。
チャンネルを含むテーブルがあります
select * from `channels`
サイト内のすべてのページの閲覧に関する統計を含む別のテーブルがあります。
特定のチャネルへのすべての訪問を取得するには、次のように記述します
SELECT SUM(ip) AS visits FROM `log` where `module` = 'channels' and mid = '15'
channels
ここで、15 はテーブル内の行の ID と同じです。
作成する必要があるクエリはselect * from 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));