我有一个来自HBase的表(因为 table1 ),它有某些我想要过滤掉的东西。我重新创建了表,我的SQL查询和我在下面收到的输出。当我尝试过滤掉它保留在表中的字符串值时,即使我想要它,也会发生这种情况。
table1 (有些头寸是完全大写的,有些不是,希望将它们全部大写并过滤掉头寸)
name | company | personal_id | position
Joe | Applebees| 32 | manager
Jack | Target | 12 | CLERK
Jim | Chipotle | 22 | COOK
Ron | Starbucks| 13 | barista
查询
df = sqlContext.sql("select name, company, personal_id, UCASE(position) as position
from table1
where position != 'BARISTA'") #tried lower & upper case
输出已撤消
name | company | personal_id | position
Joe | Applebees| 32 | MANAGER
Jack | Target | 12 | CLERK
Jim | Chipotle | 22 | COOK
Ron | Starbucks| 13 | BARISTA /*dont want this output*/
为什么行Ron | Startbucks| 13 | BARISTA
没有使用where子句进行过滤?
答案 0 :(得分:2)
尝试
where UCASE(position) != 'BARISTA'
答案 1 :(得分:1)
为什么要对结果进行分组。在使用聚合函数之前,不需要对结果进行分组。请尝试以下查询 -
select name, company, personal_id, UCASE(position) as position
from table1
where upper(position) != 'BARISTA'