私の現在のSQLは次のようになります-
SELECT i.id,
i.name,
i.description,
c.name campaign,
count(h.id) hits
FROM items i
LEFT JOIN campaigns c ON c.id = i.campaignid
LEFT JOIN links l ON l.itemid = i.id
LEFT JOIN hits h ON h.linkid = l.id
GROUP BY i.id
これを変更して、h.id の count() で 6 番目の列が返されるようにしますが、過去 30 日間の「ヒット」のみが含まれるようにします。したがって、全体で 100 件の「ヒット」があり、過去 30 日間で 50 件の「ヒット」があったと仮定すると、5 番目の列は 100 になり、6 番目の列は 50 になります。
私の説明がかなり冗長である場合は申し訳ありません...