最近、MySQLからVerticaに切り替えました。私は< = 30を再作成する方法について迷っています。これは現在、Verticaでは動作しませんが、MySQLでは動作します。MySqlからVerticaに切り替えると、where節が機能しない
基本的に、ユーザーは車を所有しており、車には部品があります。私は時間枠で車と車のパーツの合計を計算したいが、30台以下の車ユーザーにのみ計算する。
select
count(distinct cr.id) as 'Cars',
count(distinct cp.id) as 'Car Parts'
from
users u
inner join
user_emails ue on u.id = ue.user_id
inner join
cars cr on cr.user_id = u.id
inner join
car_parts cp on cp.car_id = cr.id
where
(
select count(*) from cars where cars.user_id=u.id
) <=30
and
ue.is_real = true and ue.is_main = true
and
cr.created_at >= '2017-01-01 00:00:00' and cr.created_at <= '2017-02-17 23:59:59'
ご協力いただきありがとうございます。
ERROR: Correlated subquery with aggregate function COUNT is not supported
これはVerticaでは機能しませんか? –
どのように「機能しない」のですか?マウスは離れて飛ぶ?モニターが消えますか?消化不良ですか? –
ハハ。情報の欠如に関するお詫び - 「エラー:集計関数COUNTを持つ相関サブクエリはサポートされていません」 – Grip55