我有一个sql表,其中包含id、链接(超链接)、类别和时间戳等数据。
结果应该是一个sql查询,返回一个指定链接在一天中存在的频率。这基本上意味着我必须执行一个sql查询,该查询按链接统计id和组。
但毫无理由这是行不通的。。。以下是我的sql表的外观:
但是当我执行这个简单的sql查询时:
SELECT COUNT(ID) AS Anzahl, DAY(STR_TO_DATE(datum, '%Y-%m-%d')) AS Datum, link as URL
FROM 4184_lead_tracking
WHERE datum >= '2017-12-01' AND datum <= '2017-12-31'
GROUP BY link
ORDER BY DAY(datum) ASC`
我得到这个结果:
你看。他将这两个链接合并为一个:
https://radlvoo.de/blog/produkt/haibike-seet-hardfour-life-1-0-2016-rh-groesse-30/
https://radlvoo.de/blog/produkt/haibike-seet-hardfour-life-1-0-2017-rh-groesse-30/
但它们是不同的。一个是2016年,一个是2017年。。。他为什么要这样做?我怎样才能把他们分组?
我将感谢任何帮助!谨致问候
1条答案
按热度按时间tyky79it1#
无论如何,您也应该按天分组(因为不涉及aggreagtion函数),或者不要在select中使用该字段,因为它只能包含组中(许多)不同行的一个值:
否则,可能会对不在group by中且不在聚合函数中的列生成不可预知的结果。阅读更多有关处理
GROUP BY
在mysql和sql模式下ONLY_FULL_GROUP_BY