【发布时间】:2018-05-15 20:33:57
【问题描述】:
我正在尝试运行以下代码,但我不断收到 Not a Group by Expression 错误。我做了一些研究,发现我需要添加我所做的“分组依据”,但我不确定我做错了什么?
我在test_flag 中寻找medicaid_no 和1 的列表,如果它们的计数为more > 0 并且In_Op 等于inpatient。
如果您看到下面的第 1、2 和 4 行满足条件 count > 0 并且拥有 Inpatient 而其他人不满足条件,那么他们将获得 0。
Row MEDICAID_NO TEST_FLAG
1 999999 1
2 1111111 1
3 3333333 0
4 444444 1
5 88888888 0
这是我的代码
SELECT medicaid_no, count(*)
,(CASE WHEN count(*)>0 and In_Op IN('Inpatient')
THEN 1 ELSE 0 END) AS test_FLAG
FROM top_member_claims
GROUP BY medicaid_no
【问题讨论】:
-
抱歉,您的示例数据不包括住院患者列。
-
该列位于另一个名为 top_member_claims 的 CTE 中
-
count(*)总是 > 0,所以测试它没有真正的意义......