簡體   English   中英

在 MySQL 中使用 GROUP BY 在 min COUNT 中包含零

[英]Include zero in min COUNT with GROUP BY in MySQL

在我的查詢輸出 cout 中沒有零“大於零”如何顯示零計數?

SELECT MIN(Q)Z 
FROM (SELECT COUNT(DISTINCT`Student_ID`)Q 
      FROM Examdata 
      WHERE `Student_ID` in (SELECT `Student_ID` FROM sal3 ) 
             and `Subject_ID`!='104 سلم' 
      group by exam_dates
     ) TABLE1;

如果你的意思是你想看看在每一個可能的值exam_dates ,計數student_id數據的不同值的每個數字exam_dates有一個Student_IDSubject_ID滿足條件...

我們可以將條件測試重新定位到聚合中

例如:

SELECT MIN(t.q) AS Z
  FROM ( SELECT COUNT(DISTINCT
                      CASE
                      WHEN d.Student_ID IN ( SELECT s.Student_ID FROM sal3 s ) 
                       AND d.Subject_ID != '104 سلم' 
                      THEN d.Student_ID
                      ELSE NULL
                      END
                ) AS q 
           FROM Examdata d
          GROUP
             BY d.exam_dates
       ) t

規范非常模糊,沒有示例數據和預期輸出來說明需求,我們只是猜測應該返回什么。

在這個答案的查詢確實有潛力,返回一個零,當有一排Examdataexam_dates值與沒有行exam_dates值滿足的條件。

暫無
暫無

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

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