gpt4 book ai didi

mysql - 统计所有用户的登录天数

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

假设我有一个 mysql 表,其中包含每个用户的登录时间:

"eventDate"    "eventTime"              "name"
"2016-02-06" "2016-02-06 01:01:01" "nameA"
"2016-02-06" "2016-02-06 05:04:20" "nameA"
"2016-02-06" "2016-02-06 06:01:18" "nameC"
"2016-02-07" "2016-02-07 03:04:43" "nameA"
"2016-02-07" "2016-02-07 08:09:23" "nameB"
"2016-02-07" "2016-02-07 09:09:23" "nameB"
"2016-02-07" "2016-02-07 10:09:23" "nameB"
"2016-02-07" "2016-02-07 11:09:23" "nameB"

每当用户登录时,我的服务器都会向该表中添加一条新记录。

如何统计所有用户的登录天数?

这是我想要的结果:

"name"      "times"
"nameA" 2
"nameB" 1
"nameC" 1

如果用户一天内多次登录,则仅统计其中1条记录。

以下是我解决这个问题的计划;但我在第一步就卡住了。

创建删除重复日期的临时 View 。

"eventDate"     "eventTime"     "name"
"2016-02-06" "2016-02-06 01:01:01" "nameA"
"2016-02-06" "2016-02-06 06:01:18" "nameC"
"2016-02-07" "2016-02-07 03:04:43" "nameA"
"2016-02-07" "2016-02-07 08:09:23" "nameB"

然后我就可以做我想做的事情

从 myDB.loginTable 中选择名称、计数(名称),其中 eventTime 介于“2016-02-06 00:00:00”和“2016-02-07 23:59:59”之间,按名称分组;

最佳答案

只需计算不同的时间并按名称分组即可:

SELECT
name,
COUNT(DISTINCT DATE(eventTime)) times
FROM
login_table
GROUP BY
name

或直接使用 eventDate 列:

SELECT
name,
COUNT(DISTINCT eventDate) times
FROM
login_table
GROUP BY
name

关于mysql - 统计所有用户的登录天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502159/

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