group by-postgresql 分组排序问题

问题描述

postgresql 分组排序问题

原表数据:

先上图,图为要实现的效果:

sort 的序号是根据gis_class和distance来实现,
但是说,postgresql这货很坑,想用group by这个东西就必须把select list 里面的字段都排一边才不报错,求大神破!
SELECT
rank() over(order by t8.Gis_cell_s2t_class ASC, t8.distance_b asc),
t8.S_CGI,
t8.distance_b,
t8.Gis_cell_s2t_class
FROM
tempp5 t8
GROUP BY
t8.distance_b,
t8.S_CGI,
t8.Gis_cell_s2t_class;

这个是我写的东西,但是肯定是错的,,,劳烦大神费心

原表数据如图

解决方案

PostgreSQL大小写排序问题

时间: 2024-08-01 17:47:29

group by-postgresql 分组排序问题的相关文章

postgresql 字符串 排序问题

问题描述 postgresql 字符串 排序问题 5C postgresql 字符串排序时,如果字符串为空 就不进行排序比如一个字段 mobile 升序排列,排序后的数据,前几行是空字符串,后几行也是空字符串降序排列,排序后的数据,前几行是空字符串,后几行也是空字符串 我想实现 降序排列 有内容的在前几行,无内容的在后面,升序时,有内容的在后面 解决方案 想改变排序的默认对空的处理,这不太可能.所以,只能分步来实现 :1) 现将空的选择出来2)再对剩余的非空字段进行升/降排序3)分别输出 1)和

devexpress-DevExpress 分组排序问题

问题描述 DevExpress 分组排序问题 分组之后怎么把每个组按其它字段排序 每一炉内的排序我会,只是怎么把每个炉号按最大的时间排序, 也就是让每一炉整体按时间最大的在最上面 解决方案 http://www.evget.com/article/2012/10/12/17750.html 解决方案二: devexpress gridview排序

Sequelize中用group by进行分组聚合查询_node.js

一.SQL与Sequelize中的分组查询 1.1 SQL中的分组查询 SQL查询中,通GROUP BY语名实现分组查询.GROUP BY子句要和聚合函数配合使用才能完成分组查询,在SELECT查询的字段中,如果没有使用聚合函数就必须出现在ORDER BY子句中.分组查询后,查询结果为一个或多个列分组后的结果集. GROUP BY语法 SELECT 列名, 聚合函数(列名) FROM 表名 WHERE 列名 operator value GROUP BY 列名 [HAVING 条件表达式] [W

MYSQL中group by做分组查询并排序

那么如何解决使分组后的数据按照主键的 desc 排序输出呢? 答案有两种方法: 1.使用子查询先把表进行排序,然后对字表进行 group by 查询,此时得到的列将是子查询的得到的一条记录的列. 2.使用 max 函数对可计算最大值的列进行对比查询,这种方法将只能使的对比列按照 desc 输出,不影响其他列. 以上两种方法的结果不同,使用的时候要按需来使用. 附例子: 表 tab1 有 3 列:主键id.名称name.登录时间time id name time 1 a01 1 2 www.111

PostgreSQL 聚合表达式 FILTER , order , within group 用法

标签 PostgreSQL , 聚合 , filter , order , within group 背景 PostgreSQL的分析功能还是比较强大的,例如支持多维分析,支持4大类聚合,支持窗口查询,支持递归查询等. 4大类聚合的用法请参考 <PostgreSQL aggregate function 1 : General-Purpose Aggregate Functions> <PostgreSQL aggregate function 2 : Aggregate Functio

Mysql group by 排序问题

 类如 有一个 帖子的回复表,posts( id , tid , subject , message ,  dateline ) , id 为 自动增长字段, tid为该回复的主题帖子的id(外键关联),  subject 为回复标题, message 为回复内容, dateline 为回复时间,用UNIX 时间戳表示, 现在要求 选出 前十个来自不同主题的最新回复 SELECT * FROM posts GROUP BY  tid  LIMIT 10 这样一个sql语句选出来的并非你想要的 最

OCP1z0-047 : 扩展GROUP BY分组――ROLLUP

我们都知道group by能用来分组的子句:扩展了的group by加上rollup子句,就能为每一个分组返回一条小计录,并为全部分组返回总记录,操作如下: gyj@OCM> WITH t AS 2 (SELECT 'A' comp,'x' cate,'o' oth,100 fee FROM dual UNION ALL 3 SELECT 'A' comp,'y' cate,'m' oth,200 fee FROM dual UNION ALL 4 SELECT 'B' comp,'x' cat

mysql GROUP BY 与 ORDER BY数据排序问题

有两个解决方法 1,where+group by(对小组进行排序) 2,从form返回的数据下手脚(即用子查询) 由where+group by的解决方法 对group by里的小组进行排序的函数我只查到group_concat()可以进行排序,但group_concat的作用是将小组里的字段里的值进行串联起来.  代码如下 复制代码 select group_concat(id order by `date` desc) from `test` group by category_id   再

大规模数据存储集群数据存放的设计,分布式shardid的生成 - 如何指定范围随机数, 分组随机数

标签 PostgreSQL , 分组ID生成 , 生成哈希映射 , sharding , shard 背景 在一些分布式数据库系统中,通常会有多个数据节点,用户的数据分布策略通常有一致性哈希.按列哈希.随机分布等. 除了随机分布,其他的分布方法数据和数据节点是一对一的关系. 上当节点数变得特别特别多的时候,数据如果依旧按照全局进行哈希分布,可能会带来一个问题,例如节点数到达1万个,一张1亿的表,会分布到1万个节点中,那么多个表进行JOIN时,会涉及到1万个节点的运算,这里面可能还涉及节点和节点之