我有一个问题:
SELECT * FROM (SELECT col1,col2,col3,ROWNUM R
FROM TBL WHERE ROWNUM < 3)
WHERE R='2';
(rownum每次只会改变一条记录)
column1 column2 column3
alpha beta gamma
我需要结果:
alpha,beta,gamma
我需要做的就是输出之间的字段分隔符。
这与下面建议的链接无关,不重复!
答案 0 :(得分:3)
如果importFrom(MASS,mvrnorm)
importFrom(Rcpp,sourceCpp)
importFrom(corpcor,make.positive.definite)
importFrom(plyr,ddply)
importFrom(separationplot,separationplot)
importFrom(stats,AIC)
importFrom(stats,BIC)
importFrom(stats,logLik)
importFrom(stats,nobs)
importFrom(xtable,xtable)
不符合您的要求,那么LISTAGG
可能有所帮助.--
DUMMYCOL
答案 1 :(得分:3)
您可以使用以下内容: -
SELECT *
FROM (SELECT col1||','||col2||','||col3,ROWNUM R
FROM TBL WHERE ROWNUM < 3)
WHERE R='2';
答案 2 :(得分:3)
有两种方法:
CONCAT 功能
SELECT *
FROM
(SELECT concat(concat(concat(concat('a', ','), col2), ','), col3),
ROWNUM R
FROM TBL
WHERE ROWNUM < 3
)
WHERE R=2;
||
连接运算符
SELECT *
FROM
(SELECT col1||','||col2||','||col3,ROWNUM R FROM TBL WHERE ROWNUM < 3
)
WHERE R=2;
另外,不需要在 ROWNUM 的值周围使用单引号,它会不必要地将其转换为字符串,只需将其保留为 NUMBER