gpt4 book ai didi

php - MYSQL 查询仅在不是特定日期时进行分组

转载 作者:行者123 更新时间:2023-11-29 11:57:35 25 4
gpt4 key购买 nike

我有一个跟踪点击的功能。它按天对它们进行分组,因此用户每天仅获得一次点击的积分。

客户希望在某个特殊的日子里,用户可以获得当天所有点击的积分。

我最初的想法是有两个功能。第一个函数提取所有不等于特殊日期的点击,并按天对它们进行分组。第二个函数仅提取特殊日期的点击次数。然后我将两者相加。

有没有办法编写查询,这样我就不必使用两个函数?

我当前提取不在给定日期的所有点击的查询是:

$sql = "SELECT DATE(timeclicked) AS Date, platform, COUNT(DISTINCT email) AS click_sum 
FROM trackclicks
WHERE email='".$email."'
AND uid='".$uid."'
AND action LIKE '%completed%'
AND date(timeclicked) != CAST('".$giving_date."' AS DATE)
GROUP BY platform, DATE(timeclicked) ";

添加

这是我最后一个问题的补充。查询有效并在 PHPMyAdmin 中显示此信息

Date          platform      click_sum
2015-10-03 Facebook 13
2015-10-04 Facebook 1
2015-10-03 Twitter 14
2015-10-04 Twitter 1

我的查询以此结束:

if ($result = $mysqli->query($sql)) {
$response['sum'] = $result->num_rows;
}

这给了我 2 个,我需要它给我 14 个 facebook 和 15 个 twitter

最佳答案

这只是我在你的陈述中添加了一个 if 。无法测试,因为我没有数据库设置。希望对你有帮助。 if 只是检查并使用除该特殊日期之外的不同计数。

$sql = "SELECT DATE(timeclicked) AS Date, platform, IF(date(timeclicked) !=  CAST('".$giving_date."' AS DATE), COUNT(DISTINCT email), COUNT(email)) AS click_sum 
FROM trackclicks
WHERE email='".$email."'
AND uid='".$uid."'
AND action LIKE '%completed%'";

关于php - MYSQL 查询仅在不是特定日期时进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32955748/

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