我在这个网站上的第一个问题很简单。
是否可以使用GROUP BY
来自 2 个表的 2 个参数的SQL
SELECT
DISTINCT COUNT(a.id),
b.id
FROM
table a
LEFT JOIN table b
GROUP BY a.id, b.id
我添加我的完整请求
SELECT DISTINCT e.PkID, e.LocID, e.LocationName, l.Name, e.LocationCity, l.City, e.Title, l.Descript, e.Description, e.LocID, e.LocationName, e.StartDate, e.StartTime, e.EndTime, e.TBD, c.CategoryName, Count(e.PkID), ec.CategoryID, l.PkID
FROM events e
LEFT JOIN eventcategories ec ON (ec.EventID = e.PkID)
LEFT JOIN categories c ON (ec.CategoryID = c.PkID)
LEFT JOIN locations l ON (e.LocID = l.PkID)
WHERE DATE(StartDate) >= DATE(CURDATE()) AND l.IsActive = 1
GROUP BY " . $Group . "
ORDER BY " . $Order . "
;
$Group = $Order = 'l.Name';
我显示了几个 l.Name,每个 l.Name 都统计了组织的事件数(e.PKiD)
每个事件都有一个或多个类别,当我只有一个类别时,它是正确的计数,但是当我在一个位置有一个事件有 3 个类别时,它计为 3 代替 1(事件)