出于某种原因(我想我知道为什么),当多行 $ activityday 具有相同的值时,其他行不再显示。我认为这是因为小组,但我无法确定。
$ activityday 是1到9之间的数字,表示当天的活动。表 venues_activity 会使用该数字并写入活动的名称,而 group by 会根据重要性对活动进行排序。
是否有替代方法可以显示我的所有行?谢谢! :)
SELECT
venues.*,
venues_activity.ACTIVITY_EN
FROM venues
INNER JOIN venues_activity
ON $activityday = venues_activity.ID
LEFT JOIN events
ON events.VENUE_LOCATION = venues.ID
AND start_datetime >= '$DATE_START_SELECTED'
AND end_datetime < '$DATE_END_SELECTED'
where events.VENUE_LOCATION IS NULL
AND VENUE_TYPE='1'
AND $closeday!='Closed'
AND $activityday!='9'
GROUP BY $activityday
答案 0 :(得分:2)
使用order by
代替group by
答案 1 :(得分:2)
我想你想要ORDER BY
clause... not the GROUP BY
clause。
GROUP BY
旨在完全按照您的描述进行操作...将重复值组合到一行中,该行旨在与聚合函数结合使用,例如SUM
,{{1 },或AVG
。
COUNT
只是命令结果。