MySQL不会按链接分组

问题描述 投票:2回答:1

我有一个SQL表,其中包含数据,如ID,链接(超链接),类别和时间戳。

结果应该是一个SQL查询,它返回一天中指定链接的存在频率。这基本上意味着我必须执行一个SQL查询,它通过链接计算ID和组。

但是没有理由这完全没有用......这就是我的SQL表的样子:

enter image description here

但是当我执行这个简单的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`

我得到了这个结果:enter image description here

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

  1. https://radlvoo.de/blog/produkt/haibike-seet-hardfour-life-1-0-2016-rh-groesse-30/
  2. https://radlvoo.de/blog/produkt/haibike-seet-hardfour-life-1-0-2017-rh-groesse-30/

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

我将不胜感激任何帮助!亲切的问候

mysql sql group-by count phpmyadmin
1个回答
3
投票

无论如何,您还应该按天分组(因为不参与聚合功能),或者不在SELECT中使用该字段,因为它只能包含GROUP中(很多)不同行的一个值:

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 in MySQLSQL Mode ONLY_FULL_GROUP_BY的处理方法

© www.soinside.com 2019 - 2024. All rights reserved.