Vertica SQL 用于按列获取数据
Posted
技术标签:
【中文标题】Vertica SQL 用于按列获取数据【英文标题】:Vertica SQL for get data in column wise 【发布时间】:2019-01-14 10:39:00 【问题描述】:enter image description here,其中在具有不同条件的单个表中支持多个计数
1. select COUNT(*) as x from WORLDPOP
2. SELECT COUNT(*) as y FROM WORLDPOP WHERE COUNTRY LIKE '%i%'
操作
x y
10 2
【问题讨论】:
我对同一张表上的数据有每日明智计数、每周计数、每月计数和每年计数等要求。你能提供我的查询吗? 【参考方案1】:你想要条件聚合:
select count(*) as x,
sum(case when COUNTRY LIKE '%i%' then 1 else 0 end) as y
from WORLDPOP;
【讨论】:
感谢 Yogesh 的回复。我期待同样的查询。我对同一张表上的数据有每日明智计数、每周计数、每月计数和每年计数等要求。你能提供我的查询吗? @Sholk。 . .如果您有新要求,这将回答您的实际问题,那么您应该使用示例数据和所需结果而不是评论提出新问题。【参考方案2】:条件聚合是要走的路。我更喜欢这种在 Postgres 兼容数据库(包括 Vertica)中可用的较短语法:
select count(*) as x,
sum( (country like '%i%')::int ) as y
from WORLDPOP;
【讨论】:
感谢戈登的回复。我期待同样的查询。我对同一张表上的数据有每日明智计数、每周计数、每月计数和每年计数等要求。你能提供我的查询吗? @Sholk 。 . .您应该使用适当的样本数据和期望的结果提出另一个问题。以上是关于Vertica SQL 用于按列获取数据的主要内容,如果未能解决你的问题,请参考以下文章