gpt4 book ai didi

MySQL 选择、连接表和组/计数逗号分隔值

转载 作者:行者123 更新时间:2023-11-29 17:53:21 24 4
gpt4 key购买 nike

我有以下两个表:

**Table: appointments**
--------------------------
id | user_id | date
--------------------------
1 | 18 | 23/02/2018
2 | 24 | 24/02/2018
3 | 18 | 24/02/2018
--------------------------


**Table: appointments_services**
--------------------------------
id | appointment_id | service_id
--------------------------------
1 | 1 | 23,26
2 | 2 | 12,23
3 | 3 | 23,45,12
--------------------------------

我想要以下报告:

1) 根据我输入的日期段,对服务进行分组并显示总数/计数2) 在同一日期期间,显示 user_id 已完成的服务总数/计数

如果以上两个报告需要使用不同的 SQL,我不介意。

这是我到目前为止所做的:

SELECT * FROM appointments_services s
JOIN appointments a ON s.appointment_id = a.id

WHERE STR_TO_DATE(a.date, '%d/%m/%Y') BETWEEN STR_TO_DATE('01/03/2018', '%d/%m/%Y') AND STR_TO_DATE('05/03/2018', '%d/%m/%Y')

我现在陷入困境,因为 service_id 是逗号分隔值,我不知道如何拆分它们并对它们进行分组/计数。

最佳答案

标准化环境可能如下所示:

**Table: appointments_services**

appointment_id | service_id
---------------+----------------
1 | 23
1 | 26
2 | 12
2 | 23
3 | 23
3 | 45
3 | 12

从这里开始,问题就变得微不足道了。

关于MySQL 选择、连接表和组/计数逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49108004/

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