gpt4 book ai didi

mysql - 在MYSQL中使用Group By,同时在另一列上使用distinct

转载 作者:行者123 更新时间:2023-11-29 14:44:15 27 4
gpt4 key购买 nike

我有一个表,用于存储我发送到其他网站的每次点击。它包含我发送点击的网站的 ID、点击的日期时间、点击的 IP 地址以及 IP 地址来自的区域(IE:美国、加拿大、英国等)

当尝试查看当天我从每个区域发送到网站的点击次数时,我使用如下查询......

SELECT  `clicks_region`, COUNT(*) as TOTAL 
FROM `clicks`
WHERE `clicks_to_websites_id` = '1'
AND DATE(`clicks_date`) = DATE('2011-08-30' )
GROUP BY `clicks_region`

现在我想做同样的查询,但对其进行限制,这样一个 IP 每天只计算一次

我的第一个想法是做这样的事情......

 SELECT  `clicks_region`, COUNT(*) as TOTAL 
FROM `clicks`
WHERE `clicks_to_websites_id` = '1'
AND DATE(`clicks_date`) = DATE('2011-08-30' )
GROUP BY `clicks_region`
HAVING DISTINCT(`clicks_ip`)

但显然这种语法不起作用。

到目前为止,我在研究中一直无法找到解决方案。我开始认为子查询可能是答案 - 如果有人有建议或建议,我将不胜感激。

谢谢

最佳答案

如果我理解正确的话,我想你想要这样的东西:

SELECT  `clicks_region`, COUNT(*) as TOTAL 
FROM
(SELECT DISTINCT 'clicks_region', 'clicks_ip'
FROM 'clicks'
WHERE `clicks_to_websites_id` = '1'
AND DATE(`clicks_date`) = DATE('2011-08-30' )) x
GROUP BY `clicks_region`

关于mysql - 在MYSQL中使用Group By,同时在另一列上使用distinct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328013/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com