当前位置:网站首页>【sql】不同库查询前几条记录用法
【sql】不同库查询前几条记录用法
2022-08-10 03:43:00 【掘金者说】
SQL在不同数据库中查询前几条记录的用法分类
方法
/** * 查询前几条记录SQL * <p> * 1. ORACLE * SELECT * FROM TABLE1 WHERE ROWNUM <= N * 4. SQL SERVER * SELECT TOP N * FROM TABLE1 * 6. MYSQL * SELECT * FROM TABLE1 LIMIT N * 8.POSTGRES * SELECT * FROM TABLE LIMIT N * * @param selectSql * @param dbType * @return */
public static String selectTopNum(String selectSql, String dbType) {
int limitNum = 1000;
if (StringUtils.isBlank(dbType)) {
dbType = DbTypeEnum.MYSQL.getCode();
}
String sqlTemp = "";
switch (DbTypeEnum.getEnumByCode(dbType)) {
case POSTGRESQL:
case MYSQL:
//WITH TEMP_A AS (select * from TABLE1) SELECT * FROM TEMP_A LIMIT 10
sqlTemp = "WITH TEMP_A AS ({0}) SELECT * FROM TEMP_A LIMIT {1}";
break;
case DM:
case OSCAR:
case KINGBASE86:
case KINGBASE8:
case ORACLE:
//WITH TEMP_A AS (SELECT * FROM TABLE1) SELECT * FROM TEMP_A WHERE ROWNUM <= 100
sqlTemp = "WITH TEMP_A AS ({0}) SELECT * FROM TEMP_A WHERE ROWNUM <= {1}";
break;
case SQLSERVER:
//WITH TEMP_A AS (SELECT * FROM TABLE1) SELECT TOP 100 * FROM TEMP_A
sqlTemp = "WITH TEMP_A AS ({0}) SELECT TOP {1} * FROM TEMP_A";
break;
default:
}
selectSql = MessageFormat.format(sqlTemp, selectSql, limitNum);
return selectSql;
}
附加
边栏推荐
猜你喜欢
随机推荐
【网络迁移】Pytorch中的F.interpolate对应MindSpore哪个方法
数据库学习真难,头大,有偿提问
Day14/15/16:哈夫曼树、哈弗曼编码(压缩与解压缩)
搭建Prometheus+Grafana框架监控Hyperledger Fabric的运行
ZZULIOJ:1017: 判断正整数位数
【Verilog数字系统设计(夏雨闻)6-------模块的结构、数据类型、变量和基本运算符号2】
ZZULIOJ:1019: 公园门票
PID与ADRC
【Mindspore】【310推理】导入mindir文件出错
学习总结week4_2正则
How to quickly become a software test engineer?What skills do testers need for a monthly salary of 15k?
ZZULIOJ:1028: I love 闰年!
【mindspore产品】【8卡分布式训练】davinci_model : load task fail, return ret
测试常见问题100类(1)
C语言结构体初识
Difference between netstat and ss command
【科研绘图】琴图 +箱型图混合 matplotlib库和seabsorn库的使用
MySQL数据库初体验
质量小议13 -- 侥幸
TCP协议之《TCP_CORK选项》









