gpt4 book ai didi

MySQL:一条语句中有两个计数

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

我经营一家婚纱店。我做了一张 table ,把新娘试穿的所有衣服都放在那里。我有字段、分支、型号、日期和订单。如果要订购一件衣服,则订购的值将设置为 1。我还有“状态”字段,如果从该表中删除该衣服,该字段将设置为 2。

我有这个声明来显示年、月、分支机构、型号以及每个型号已试用的数量:

SELECT count(*) as Anzahl, MONTHNAME( date ) AS Monat, YEAR( date ) AS Jahr, 
branch as Branch FROM wccrm_anprobe where status = 1 GROUP BY MONTHNAME(date),
YEAR(date), branch ORDER BY date,branch ASC

我该怎么做才能实现以下目标:我想对“ordered”字段进行计数并将其放入我的选择中?我想看看,每年、每个月、每个分店卖出了多少件衣服。

我尝试过:

SELECT count(*) as Anzahl, MONTHNAME( date ) AS Monat, YEAR( date ) AS Jahr, 
branch as Branch, ordered as Ordered FROM wccrm_anprobe where status = 1 GROUP
BY MONTHNAME(date),
YEAR(date), branch, ordered ORDER BY date,branch ASC

但我没有得到正确的结果,因为我认为有序字段将显示一次 - 它不会被计数。

例如,上个月我卖了 6 件衣服,但上面的报表只显示 3 件衣服。

感谢您的任何建议。

最诚挚的问候,

斯特凡

最佳答案

您可以使用条件聚合,在您的情况下,它应该看起来像这样:

COUNT(CASE `ordered` WHEN 1 THEN 1 ELSE NULL END) AS numberOrdered

与大多数聚合函数一样,COUNT 会忽略 NULL 值。或者,您可以使用 SUM

SUM(CASE `ordered` WHEN 1 THEN 1 ELSE 0 END) AS numberOrdered

关于MySQL:一条语句中有两个计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53381506/

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