当前位置:网站首页>【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;
}
附加
边栏推荐
猜你喜欢
随机推荐
torch.nn.CrossEntropyLoss()对应的MindSpore算子是哪个?
golang gin 框架读取无法用 body 传递的表单参数
【Verilog数字系统设计(夏雨闻)6-------模块的结构、数据类型、变量和基本运算符号2】
mediaserver创建
TCP协议之《TSQ限值tcp_limit_output_bytes》
学习总结week4_1json
继承关系下构造方法的访问特点
富媒体在客服IM消息通信中的秒发实践
ZZULIOJ:1014: 求三角形的面积
ZZULIOJ:1015: 计算时间间隔
electron 应用开发优秀实践
Flink学习15:Flink自定义数据源
ZZULIOJ:1025: 最大字符
125. 耍杂技的牛
C语言结构体初识
maya视图如何切换
ZZULIOJ:1013: 求两点间距离
一种能让大型数据聚类快2000倍的方法,真不戳
2022年起重机械指挥操作证考试题库及模拟考试
数据库学习真难,头大,有偿提问









