gpt4 book ai didi

MySQL - 按 2 列分组 1

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

在解决这个问题几天后,我决定询问。

在解释我想要什么之前,这里是我的数据示例:

id     | date         | solvedate         | groupname
------ | ------------ | ----------------- | -----------------
53489 | 2016-12-01 | 2017-01-01 | Groupe 1
49848 | 2017-01-02 | 2017-01-02 | Groupe 1
46982 | 2017-01-02 | 2017-01-03 | Groupe 1
61680 | 2017-03-15 | 2017-03-15 | Groupe 2
49480 | 2017-03-16 | 2017-04-20 | Groupe 2
69870 | 2017-03-22 | 2017-03-22 | Groupe 2

现在我想计算当月创建的所有已解决的票证。换句话说,我想按组名称和月份对所有门票进行计数。

这是我想要的:

Groupe   | NbrOfTickets      | Month
-------- | ----------------- | -------
Groupe 1 | 2 | January
Groupe 2 | 2 | March

这是我正在尝试的(我知道这不是正确的答案):

SELECT tickets.groupename AS Groupe, COUNT(id) AS NbrOfTickets, MONTHNAME(solvedate)
FROM tickets
WHERE solvedate BETWEEN CONCAT(YEAR(CURDATE()), '-01-01') AND CURDATE()
AND date BETWEEN CONCAT(YEAR(CURDATE()), '-01-01') AND CURDATE()
GROUP BY groupname, MONTH(solvedate)

所以我不想按日期分组(因为我会有我不想的条目),而只想按解决日期分组,并且只计算在创建时同一个月解决的票证。

有人可以帮我吗? :)。

最佳答案

如果您只想要那些在创建月份中解决的问题,您可以简单地添加类似这样的内容(比较创建的年份和月份以及解决日期):

SELECT tickets.groupename AS `Group`,
MONTHNAME(solvedate) AS `Month`,
COUNT(id) AS `NoOfTickets`,
FROM tickets
WHERE year(solvedate) = year(date)
AND month(solvedate) = month(date)
GROUP BY 1,
2

关于MySQL - 按 2 列分组 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45940008/

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