【发布时间】:2020-02-18 10:51:59
【问题描述】:
我想以不区分大小写的方式加入两个表。感谢关于 SO 的其他主题,这正在使用 lower()。但是,结果未按小写值分组,但似乎仍区分大小写。如何调整查询以使分组不区分大小写?
示例数据: 表 1(目前仅使用该表的 1 列,但还有更多元数据;):
keyword
TEST
ABC
ASF
QWERTY
表2:
Date - term - value
2020-01-01 - test - 3
2020-01-01 - Test - 2
2020-01-03 - TEST - 4
2020-01-01 - abc - 6
2020-01-02 - ABC - 7
2020-01-02 - abc - 3
期望的输出:
keyword - sum(value)
test - 9
abc - 16
当前输出:
keyword - sum(value)
test - 3
test - 2
test - 4
abc - 9
abc - 7
我正在使用的查询:
select distinct lower(keyword), value
FROM Table1 t1
join (select lower(term) term, sum(value) value from Table2 group by term) t2 on lower(t1.keyword) = lower(t2.term)
GROUP BY t2.term, t1.keyword, t2.value
似乎所有输出需求都是(另一个)分组,但无论我是否分组,它都不会改变结果。我在这里错过了什么?
【问题讨论】:
标签: postgresql join group-by