带有CASE

时间:2017-10-05 17:19:52

标签: mysql count case

我正在尝试在满足条件时计算表的某些行。以下是我想要做的一个例子。

SELECT (CASE
        WHEN COUNT(*)<9 WHERE (tb1.col IS NULL OR tb1.col=1) THEN 1
        WHEN COUNT(*)<9 WHERE tb1.col=2 THEN 2
        WHEN COUNT(*)<9 WHERE tb1.col=3 THEN 3
        WHEN COUNT(*)<9 WHERE tb1.col=4 THEN 4
        WHEN COUNT(*)<9 WHERE tb1.col=5 THEN 5
        WHEN COUNT(*)<9 WHERE tb1.col=6 THEN 6
    END)
WHERE tb1.id=X

我知道它并不完全像那样工作,但我很想知道,因为我必须再制作12个......那么,如果有另一种方法可以做到这一点。基本上我试图计算满足条件的行并检查是否少于9.再重复17次。

1 个答案:

答案 0 :(得分:1)

df=pd.DataFrame({'name':['Ind','Chn','SG','US','SG','US','Ind','Chn','Fra','Fra'],'a':[5,6,3,4,7,12,66,78,65,100]}) 对数据进行分组,并获取每个组的计数。然后找到第一个小于9的值。

tb1.col