1、表结构
gbase> desc tt1;
±------±-------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±------±-------------±-----±----±--------±------+
| id | int(11) | YES | | NULL | |
| name | varchar(100) | YES | | NULL | |
±------±-------------±-----±----±--------±------+
2 rows in set (Elapsed: 00:00:00.01)
2、表数据例子
gbase> select * from tt1;
±-----±-------+
| id | name |
±-----±-------+
| 2 | dddddd |
| 2 | 100 |
| 2 | aa |
| 3000 | ss |
| 3000 | ss |
| 3000 | ee |
| 3000 | ff |
| 3000 | 9999 |
| 3000 | aaa |
| 3000 | 10 |
±-----±-------+
10 rows in set (Elapsed: 00:00:00.03)
3、按ID字段分组,name取最大
gbase> select * from(select id,name,ROW_NUMBER() over(partition by id order by name desc ) num from tt1 )aa where num=1;
±-----±-------±----+
| id | name | num |
±-----±-------±----+
| 2 | dddddd | 1 |
| 3000 | ss | 1 |
±-----±-------±----+
2 rows in set (Elapsed: 00:00:00.12)
4、按ID字段分组,name取最小
gbase> select * from(select id,name,ROW_NUMBER() over(partition by id order by name ) num from tt1 )aa where num=1;
±-----±-----±----+
| id | name | num |
±-----±-----±----+
| 2 | 100 | 1 |
| 3000 | 10 | 1 |
±-----±-----±----+
2 rows in set (Elapsed: 00:00:00.14)
5、关于GBase与mysql、Oracle兼容性
在我们项目开发中发现,GBase语法与mysql语法相似度达99%,有mysq基础的伙伴使用gbase
上手很快;
与oracle语法相似度达90%,以上ROW_NUMBER() over(partition by id order by name )统计函数语法和Oracle一样
评论
