开发者社区> 问答> 正文

postgres上有没有像mysql上类似的interval函数

现在要进行统计,小于100的,100~500的,500~1000的,1000以上的,这各个区间的id数,之前使用MySQL的话
select elt(interval(d.yb,0, 100, 500, 1000), 'less100', '100to500', '500to1000', 'more1000') as yb_level, count(d.id) as cnt from k1 d group by elt(interval(d.yb, 0, 100, 500, 1000), 'less100', '100to500', '500to1000', 'more1000K'); 这样就可以
请教一下pg如果要写这样的怎么写呢

展开
收起
我叫石头 2019-01-27 17:41:35 3229 0
1 条回答
写回答
取消 提交回答
  • select t.tag, count(*) from (select case when id < 2 then 'less 2' when id >=2 and id< 5 then '2to5' when id>=5 and id<8 then '5to8' else 'great 8' end as "tag", id from generate_series(1, 10) as id) as t group by t.tag;

    问题答疑来自云栖社区-技术进阶[钉钉群],喜爱PostgresSQL的同学扫码进群

    image | left

    2019-07-17 23:27:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像