
正文
java行转列代码 java 行转列
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
求高手解决 java接收从oracle数据库检索出的结果集如何把行列变换
直接一条SQL 可以搞定的 为什么还要放到 java 里面?
select decode(date,'201301',date,null) as one,decode(date,'201302',date,null) as two,decode(date,'201303',date,null) as three from table
unin all
select decode(date,'201301',name,null) as one,decode(date,'201302',name,null) as two,decode(date,'201301',name,null) as three from table
unin all
select decode(date,'201301',dizhi,null) as one,decode(date,'201302',dizhi,null) as two,decode(date,'201303',dizhi,null) as three from table
如果就这几条数据建议用我这种 SQL搞定。
如果很多跳数据 。还是java里面搞比较好。
如果是在页面上显示 最好写了
就直接 循环td表格
listtddate/td/list
listtdname/td/list
listtddizhi/td/list
相关问答
Q1: 死磕:SQL行转列汇总(全网最全最详细)
阅读目录
PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现
PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P
注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别(在数据库属性-选项-兼容级别改为 90 )
SQL2008 中可以直接使用
完整语法:
View Code
UNPIVOT 用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现
姓名 课程 分数
---------- ---------- -----------
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
姓名 语文 数学 物理
---------- ----------- ----------- -----------
李四 74 84 94
张三 74 83 93
姓名 语文 数学 物理 总分 平均分
---------- ----------- ----------- ----------- -----------
李四 74 84 94 252 84.00
张三 74 83 93 250 83.33
姓名 语文 数学 物理
---------- ----------- ----------- -----------
张三 74 83 93
李四 74 84 94
姓名 课程 分数
---------- ---- -----------
李四 语文 74
李四 数学 84
李四 物理 94
张三 语文 74
张三 数学 83
张三 物理 93
最后给大家分享Spring系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、spring boot面试题、spring教程笔记、spring boot教程笔记、最新阿里巴巴开发手册(63页PDF总结)、2022年Java面试手册。一共整理了1184页PDF文档。私信博主(777)领取,祝大家更上一层楼!!!
原文作者:王思明
原文出处:
Q2: java 行转列提供方法了吗
请问一下是exceljava行转列代码的行转列吗 java行转列代码? 写java行转列代码了个工具类解决java行转列代码了。
public MapString,String getColumnToRow(String path,int x,int y){
MapString,SetString map=new HashMap();
String[][] str=ExcelHelper.poiReader(path, null);
for(int i=1;istr.length;i++){
String cid=str[i][x];
String brandname=str[i][y];
if(map.get(cid)==null){
SetString set=new HashSet();
set.add(brandname);
map.put(cid, set);
}else{
SetString set=map.get(cid);
set.add(brandname);
map.put(cid, set);
}
}
MapString,String result=new HashMap();
for(String cid:map.keySet()){
SetString set=map.get(cid);
String xx="";
for(String s:set){
xx+=s+",";
}
result.put(cid, xx);
}
return result;
}
Q3: java编程 按要求把1行3列的数据转换成3行1列的数据,并且以.TAR后缀名来保存。具体信息如下
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
//注意这里没有对你的数据的空格加以处理,只处理单空格的数据行,6357VS 20110111 1 也就是说,目前这三个数据之间只允许有一个空格。需要你来扩充对任意空格数的处理。
public class LineTransfer {
public static void main(String[] args) {
File f = new File("dat.txt");
BufferedReader buf=null;
File save = new File("d:/data.TAR");
String []strArr ;
BufferedWriter bw=null;
try {
bw = new BufferedWriter(new FileWriter(save));
buf = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
String value= buf.readLine();
while((value=buf.readLine())!=null){
strArr = value.split(" ");
bw.write("S"+strArr[0]);
bw.newLine();
bw.write("T"+strArr[1]);
bw.newLine();
bw.write(strArr[2]);
bw.newLine();
}
bw.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Q4: Java随机生成一个5行六列的二维数组,怎么行列转换
pre t="code" l="java"思路:
1、首先声明一个6行5列的数组
2、先循环行,再循环列,再赋值为随机数(使用 Random 类)
3、再遍历
代码如下:
public static void main(String[] args) {
//声明一个6行5列的数组
int[][] array=new int[6][5];
for(int i=0,j=array.length;ij;i++){
for(int h=0,k=array[i].length;hk;h++){
array[i][h]=new Random().nextInt(100); //赋值:100以内的随机数
}
}
//遍历
for(int i=0,j=array.length;ij;i++){
System.out.println();
for(int h=0,k=array[i].length;hk;h++){
System.out.print(array[i][h]+"\t");
}
}
}
java行转列代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 行转列、java行转列代码的信息别忘了在本站进行查找喔。






