【发布时间】:2020-05-23 08:13:07
【问题描述】:
我正在努力处理我的 SQL。我想从表中选择唯一日期的所有唯一会话。我没有得到我想要的结果。
表格示例:
session_id | date
87654321 | 2020-05-22 09:10:10
12345678 | 2020-05-23 10:19:50
12345678 | 2020-05-23 10:20:23
87654321 | 2020-05-23 12:00:10
这是我现在的 SQL。我从日期时间列中选择所有不同的日期。我还计算了所有不同的 session_id。我按日期对它们进行分组。
SELECT DISTINCT DATE_FORMAT(`date`, '%d-%m-%Y') as 'date', COUNT(DISTINCT `session_id`) as 'count' FROM `logging` GROUP BY 'date'
我想看到的是(上面的例子):
date | count
22-05-2020 | 1
23-05-2020 | 2
我现在用我的真实表(在 3 个不同日期有 354 个会话)得到的结果是:
date | count
21-05-2020 | 200
编辑
将 ` 更改为 '。
【问题讨论】:
-
您使用的是哪个 SQL 引擎?请提供样本数据和预期结果。
-
只需从此处删除 DISTINCT:
COUNT(DISTINCT session_id),您将获得每个日期的所有会话数。如果您想要唯一的会话,那么您的查询就可以了。 -
从 COUNT(DISTINCT session_id) 中删除 DISTINCT 得到相同的结果
标签: sql session unique distinct