您如何使用HIVE在WHERE语句中对OR子句进行分组

凯文

我想通过以下查询

(statement1 AND statement2 AND (statement3 OR statement4 ))

这是我的配置单元查询,我验证了它不起作用,因为它仅返回statement3,而且我知道在某些情况下statement4为true

SELECT 
  cid,
  SUM(count) AS total_count
FROM
  count_by_day
WHERE
  time >= 1435536000
  AND time < 1436140800
  AND(
    cid = '4eb3441f282d4d657a000016'
    OR cid = '14ebe153121a863462300043d'
  )
GROUP BY
  cid

有人可以告诉我怎么了吗?谢谢

调用外壳
  1. 算是一个真实的变量名吗?仔细检查一下。
  2. 还要检查以确保您的时间是数字类型,可能是bigint。如果没有将其转换为像这样的大整数:

    WHERE cast(time as bigint) >= 1435536000 AND cast(time as bigint) < 1436140800
    
  3. 尝试将您的or语句更改为in语句。

    SELECT 
     cid,
     SUM(count) AS total_count
    FROM
    count_by_day
    WHERE time >= 1435536000 AND time < 1436140800
    AND cid in('4eb3441f282d4d657a000016','14ebe153121a863462300043d')
    GROUP BY
    cid;
    

一次尝试进行一次更改,以了解解决方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 IN 语句的 Where 子句中的 Case 语句

如何在WHERE子句中使用CASE / IF语句?

使用case语句或如果WHERE子句中

在Postgres WHERE子句中使用IF语句

在where子句中使用case语句

在select语句中使用WHERE子句

如何与Where子句中的Case进行比较

如何在select语句中添加列并在where子句中使用ir

如何交叉连接表并使用交叉连接的where子句中的select语句中的字段

在 where 子句中使用当前日期进行 Hive 选择查询

Hive-如何在ON语句中使用OR子句联接表

如何在WHERE子句中使用SELECT语句编写SQL DELETE语句?

您如何在 MariaDB 的“WHERE IN”子句中使用 JSON 数组

如何在 SQL Server 连接语句的右选择语句中的 where 子句中使用左表中的列

where子句中的if / case语句

雄辩的:where语句中的Or子句

WHERE子句中的SQLite if语句

WHERE子句中的SQL IF语句

WHERE IN() 子句中的 Select 语句

MySQL,WHERE 子句中的 IF 语句?

WHERE子句中的Select语句

如何在MySQL where和where子句中的语句中使用正则表达式

在“分组依据”子句中对值进行分组

如何在execute select语句where子句中使用变量而不会在列上出错?

如何在更新语句的SQL Server中的WHERE子句中使用多个列

如何在SQL 2000的where子句中使用case语句

如何在单个 SQL 语句的 where 子句中使用两个 LIKE?

如何使用条件语句在impala查询中的where子句中过滤记录

JDBC如何在带where子句的预准备语句中使用占位符?