gpt4 book ai didi

php - 如何返回具有不同 WHERE 定义的多个 COUNT?

转载 作者:太空宇宙 更新时间:2023-11-03 10:56:35 24 4
gpt4 key购买 nike

如果标题没有完全表达我想要实现的目标,我深表歉意。我已经有一段时间没有编写任何程序了,所以为了热身,我跳入一些旧代码来刷新自己并希望提高效率。

我想知道的是,是否可以对数据库字段中的条目数进行四次不同的计数,每次都使用 WHERE 子句中的一个字段更改值 - 但所有操作都使用一个查询。这甚至可能没有被正确地问到,所以我将解释我正在尝试做什么。

我正在为一个脚本做一些基本的登录跟踪。我想知道用户登录的四个时间范围:最多 24 小时前、最多 7 天前、最多一个月前以及脚本的整个生命周期。

目前我正在做一些类似的事情:

$query=mysql_query("SELECT ID FROM USERTABLE WHERE Time>=LOGINTIME);

我在 WHERE 子句中使用不同的“时间”值运行该查询四次。我一直在使用 COUNT() 函数,但我似乎无法找到一种方法来发出满足我所有需求的单个查询(而不是四个)。任何帮助将不胜感激。

最佳答案

SELECT
ID,
COUNT(*) login_count0,
SUM(CASE WHEN LOGINTIME >= Time1 THEN 1 END) login_count1,
SUM(CASE WHEN LOGINTIME >= Time2 THEN 1 END) login_count2,
SUM(CASE WHEN LOGINTIME >= Time3 THEN 1 END) login_count3
FROM USERTABLE
GROUP BY ID

关于php - 如何返回具有不同 WHERE 定义的多个 COUNT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20133981/

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