gpt4 book ai didi

hadoop - 当表中的数据在指定范围内时,返回 bool 值

转载 作者:行者123 更新时间:2023-12-02 21:36:28 24 4
gpt4 key购买 nike

当表的数据在给定范围内时,我需要一个查询以返回 bool(boolean) 值。

假设表
顾客
[用户ID,名称,日期,购买的产品]

我正在尝试做:

select case when exists(

select Date, count(*) from Customer

where date between '2015-08-03' and '2015-08-05'

)

then cast(1 as BIT)

else case(0 as BIT)end;



这在“选择日期”附近引发错误。
但是,奇怪的是内部查询运行得很好。

我想知道我是否在这里错过了什么!

最佳答案

那更简单的事情呢?

select case when count(*) >0 then 1 else 0 end as HIT
from ... where ...

这样一来,您不必担心Hive,前提是EXISTS暗示了一个相关的子查询,该子查询自动转换为MapJoin,即Java HashMap改组为Mappers作业的第二行,等等。不完全是您的用例。

那么计算精确的计数是没有用的,因此查询可以细化为
select case when count(*) >0 then 1 else 0 end as HIT
from
(select ... from ... where ... limit 1) X

[编辑] Hive中没有“位”数据类型。但是,如果您只想要返回标志(零/非零),则默认的“int”应该可以

关于hadoop - 当表中的数据在指定范围内时,返回 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31868040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com