【发布时间】:2018-08-23 05:09:25
【问题描述】:
我需要计算具有 case 条件的多列的不同 如果我只有 1 列,我已经知道here 给出的答案。但是如果我有多个列如下:
SELECT COUNT(DISTINCT (CASE WHEN CustomerId > 10 THEN CITY,COUNTRY END))
FROM Customers;
我得到的错误是
Error 1: could not prepare statement (1 near ",": syntax error)
【问题讨论】:
-
您的查询没有意义。你想达到什么目标?
-
是的,它不应该是一个明智的查询,因为我无法复制粘贴实际的敏感列和表数据。我只是想在 distinct 的 Then 子句中使用多个列
-
用它做什么?怎么数他们??或者你想总结它们?
-
您的案例陈述尝试返回两列
THEN CITY,COUNTRY END,其中不接受 AFAIK。您需要为此使用解决方法。复制案例,为每个 cit 或简单地使用where条件和 group by。