2012-04-02 44 views
0

出于某种原因(我想我知道为什么),当多于一行的$ activityday具有相同的值时,其他行不再显示。我认为这是因为组由,但我不能确定。GROUP BY删除具有相同值的行

$ activityday是一个从1到9的数字,表示当天的活动。表venues_activity取这个数字并写出活动的名称,而组由命令活动的重要性。

是否有替代方案可以显示我的所有行?谢谢! :)

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 

回答

2

我想你想的ORDER BY clause... not the GROUP BY clause

GROUP BY是为了做你描述什么?组重复值成单行,其目的是与聚合函数一起使用,如SUMAVG,或COUNT

ORDER BY只是命令结果。

+0

哇,从来没有发生过我。谢谢! – pufAmuf 2012-04-02 15:55:34

2

使用order by中,而不是group by