簡體   English   中英

MySQL COUNT(CASE WHEN ...那么DISTINCT列)

[英]MySQL COUNT(CASE WHEN … THEN DISTINCT Column)

我的查詢:

COUNT(
    CASE WHEN YEAR(FieldValue) = YEAR(CURDATE()) 
    AND MONTH(FieldValue) = MONTH(CURDATE())
    THEN 1
    END
) AS mtd

我想要的東西:

COUNT(
    CASE WHEN YEAR(FieldValue) = YEAR(CURDATE()) 
    AND MONTH(FieldValue) = MONTH(CURDATE())
    THEN DISTINCT ColumnID
    END
) AS mtd

這給出了一個錯誤。 我不能使用GROUP BY 如果我在CASE之前添加DISTINCT它不起作用,它將FieldValue列視為DISTINCT,但我希望它將ColumnID計為不同。

請幫忙

嘗試這個

  COUNT(DISTINCT(
    CASE WHEN YEAR(FieldValue) = YEAR(CURDATE()) 
    AND MONTH(FieldValue) = MONTH(CURDATE())
    THEN ColumnID 
    END )

  ) AS mtd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM