mysql - GROUP BY 删除具有相同值的行

标签 mysql

出于某种原因(我想我知道为什么),当超过一行的$activityday 具有相同的值时,其他行将不再显示。我认为这是因为 group by,但我不能确定。

$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

最佳答案

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

GROUP BY 旨在完全按照您的描述进行操作...将重复值分组到一行中,旨在与聚合函数结合使用,例如 SUMAVGCOUNT

ORDER BY 只是对结果进行排序。

关于mysql - GROUP BY 删除具有相同值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9979457/

相关文章:

mysql - Docker 撰写 : Depends_On with an external container?

php - 如何检查预订期限从当前日期算起是否已结束

PHP 包含在现有代码中?

mysql - Sesame 配置了 MySql 支持

mysql - 优化使用self-join的MySQL View

javascript - Ajax Jquery 变量与 php

java - 如何添加过滤功能?

mysql - PHP : Help modifying tables on MySQL database

mysql - WHERE 子句中的列别名

php - 日期插入为 0000-00-00 00 :00:00 in mysql