MySQL:语句中有两个要点

时间:2018-11-19 19:38:28

标签: mysql count

我经营一家婚纱店。我做了一张桌子,放着新娘试穿的所有礼服。我有字段,分支,模型,日期和顺序。如果要订购一件礼服,则订购将设置为1。如果将礼服从此表中删除,我还将具有“状态”字段,该字段将设置为2。

我有这个陈述来显示年,月,分支,模型以及每种模型尝试使用的数量:

str.scan(/.*?(\d+%)/)

我该怎么做才能达到以下目标:我想计算“有序”字段并将其放入我的选择范围?我想看看每年,每个月和每个分支都卖出了几套衣服。

我尝试过:

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

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

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

谢谢您的建议。

最好的问候,

Stefan

1 个答案:

答案 0 :(得分:0)

您可以使用条件聚合,在您的情况下,它应该类似于以下内容:

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