-1

为什么会出现这个错误?

“代码:43, e.displayText() = DB::Exception: 非法类型 (Enum8('' = 0, 'Manhattan' = 1, 'Bronx' = 2, 'Brooklyn' = 3, 'Queens' = 4, 'Staten Island' = 5)) 的 2 个函数参数和 (version 20.3.4.10 (official build))"

select pickup_boroname as region, toHour(pickup_datetime) as time_, count(payment_type_) as pay_count
from datasets.trips_mergetree
where pickup_date between '2011-01-01' and '2011-12-31' and
      pickup_boroname != 0
group by time_ and region
order by pay_count desc;
4

2 回答 2

1

Group by 通常不会采用布尔表达式。我想你想要:

select pickup_boroname as region, toHour(pickup_datetime) as time_, 
       count(payment_type_) as pay_count
from datasets.trips_mergetree
where pickup_date between '2011-01-01' and '2011-12-31' and
      pickup_boroname <> 0
group by time_, region
order by pay_count desc;

我将 替换为!=<>但也可能存在问题,具体取决于pickup_boroname. 您可能打算:

pickup_boroname is not null
于 2020-04-14T10:25:48.200 回答
1

这是一个错误。尝试最新的稳定版本 20.3.5.21

SELECT
    pickup_boroname AS region,
    toHour(pickup_datetime) AS time_,
    count(payment_type_) AS pay_count
FROM trips_mergetree
WHERE ((pickup_date >= '2011-01-01') AND (pickup_date <= '2011-12-31')) AND (pickup_boroname != 0)
GROUP BY
    time_,
    region
ORDER BY pay_count DESC

Ok.

0 rows in set. Elapsed: 0.002 sec.
于 2020-04-14T14:53:24.860 回答