如何 select 每个唯一日期的唯一会话 SQL?

How to select unique sessions per unique dates with SQL?

我正在为 SQL 苦苦挣扎。我想 select 在 table 的唯一日期的所有唯一会话。我没有得到我想要的结果。

table 示例:

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。我 select 来自日期时间列的所有不同日期。我还计算了所有不同的 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

我现在用真实 table(在 3 个不同日期进行 354 次会话)得到的结果是:

date       | count
21-05-2020 | 200

编辑

将 ` 更改为 '。

您可能想根据日期表达式分组

SELECT DATE_FORMAT(`date`, '%d-%m-%Y') as `date`, COUNT(DISTINCT `session_id`) as `count` FROM `logging` GROUP BY DATE_FORMAT(`date`, '%d-%m-%Y')

字段名称和别名名称相同(date)。请尝试使用不同的名称作为别名,以免在 GROUP BY 部分出现混淆