如何使用条件子句在sql中创建新列?

时间:2017-06-28 20:00:14

标签: sql database

这段代码一直有效,直到我介绍了case子句。所有我想要做的是制作一个值为1的新列是谓词> 0 else O.

SELECT p.cohort_name, DATEPART(Month, date)as mm, AVG(prediction)
CASE WHEN ((p.prediction) < 0 THEN 1 else 0 END) as Z 
FROM
rates.rates_cohort_predictions p 
Group by 1,2
order by p.cohort_name, DATEPART(Month, date)

1 个答案:

答案 0 :(得分:0)

mvp所述,您缺少一个select语句分隔符

这是正确的SQL语句

SELECT p.cohort_name, 
DATEPART(Month, date) AS mm, 
AVG(prediction), 
    CASE WHEN (
        (p.prediction) < 0 
        THEN 1 
        ELSE 0 
    END) AS Z 
FROM rates.rates_cohort_predictions AS p 
GROUP BY 1,2 
ORDER BY p.cohort_name, DATEPART(Month, date)