MySQL不会按链接分组

MySQL不会按链接分组,mysql,sql,group-by,count,phpmyadmin,Mysql,Sql,Group By,Count,Phpmyadmin,我有一个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_tracki

我有一个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`
我得到这个结果:

你看。他正在将这两个链接合并为一个:

但它们是不同的。一个是2016年,一个是2017年。。。他为什么要这样做?我如何将他们分组

我将感谢任何帮助!
亲切问候

无论如何,您也应该按天分组,因为不涉及聚合功能,或者不要在选择中使用该字段,因为它只能包含组中许多不同行中的一个值:

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, Datum
ORDER BY DAY(datum) ASC

否则,您可能会为group by和AGGREATING函数中未涉及的列创建不可预测的结果。阅读更多关于处理和的信息

这不是将它们分组在一起,2017链接被排除在外。您可以判断,因为查询中的计数是1,而不是2。。您是否向我们展示了完整的查询?如前所述,它不应该产生这样的结果这里的大多数人想要格式化的文本,而不是图像。请发布SHOW CREATE TABLE 4184\u lead\u tracking的输出,因为Exact TABLE和key定义可能与此相关。您可以使用GROUP BY中的数据别名,而不是重复表达式。是。。组中缺少的数据为此列返回不可调整的值。这使您认为链接列的值不正确。。这是由于以前版本的mysql不正确地使用了group by。。在从5.7开始的版本中,不再允许使用组中未提及的不带聚合函数的列,只是为了避免这些异常