IBM DB2

重用命令

连接到本地数据库名

db2 connect to <数据库名>

列出所有schema:

select schemaname from syscat.schemata

SQL

分页

DB2的分页同Oracle类似,都是通过rowid进行分页,如下:

-- 从第一条查到第一千条
select * from (
    select 字段列表,
           rownumber() over (order by 排序字段1, 排序字段2 ) as orowid
    from 表名
) as o where o.orowid >= 1 and o.orowid <= 1000;

去重

对于完全重复的记录,去重比较简单,直接使用distinct关键字即可:

除此之外,还可以使用group by:

如果不完全重复,则比较麻烦,比如如下数据:

我想找到每个不同地区的不同姓名,此时distinct和group by就不合适了,可以使用如下方式:

分页 + 去重

分页SQL和去重SQL如果要同时使用,则要写双重子查询:

最后更新于

这有帮助吗?