SQL 将某列数据赋值到上一行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 将某列数据赋值到上一行相关的知识,希望对你有一定的参考价值。
如图 当T008不为空时 将数据赋值到为空的上一行T008
比如T007=60 T008=59534.0230
当T007=59 T008为空时 T008=59534.0230
当T007=58 T008为空时 T008=59534.0230
当T007=57 T008为空时 T008=59534.0230
。。。
当T007=66 T008为空时 T008=41480.6998
。。。
Case When T008 Is Null Then
(
Select T008 From 表A Where T007=
(Select min(T007) From 表A Where T008 Is Not Null And T007>A.T007))
Else
T008
End As T008
From 表A A 参考技术B 若你的数据库是MSSQL,私信留下你Q,我帮你解决。
sql 怎样查1列多值全都在一个集合里面
public List getResult(java.sql.ResultSet rs) throws SQLExceptionArrayList result=new ArrayList();
//声明一个集合,结果集
//获得数据元
ResultSetMetaData meta=rs.getMetaData();
ArrayList row=null;
//判断是否有数据
while (rs.next())
row=new ArrayList();//集合,装一行数据
for (int i = 1; i <= meta.getColumnCount(); i++)
row.add(rs.getInt(i));//把每个单元的数据封装
result.add(row);//把每行数据封装
return result;
public void executeSQL()
//SQL语句
String sql="select sum(CH_RES) as 'LI_CH_RES'," +
"sum(QUEUED_CH_RES) as 'LI_QUEUED_CH_RES'," +
"sum(TBSCallTime) as 'LI_TBSCallTime' " +
"from excel where TETRANetwork in ('13LI','18LD','6LIT')" +
" group by TETRANetwork";
Connection conn=null;//连接数据库
try
PreparedStatement pstmt=conn.prepareStatement(sql);
//结果 result
List result=this.getResult(pstmt.executeQuery());
catch (SQLException e)
e.printStackTrace();
在JAVA中我们写代码就是不要写重的代码。这样写对你可能有用看看吧 参考技术A 经常做这样的东西自己去建一个bean里面是你ResultSet赛选出来的值读取出来后全部赋值过去过去后声明出那个bean的一个对象赋值给list把list放在request就可以在页面赛选出来了 参考技术B select field1 + ',' + field2 + ',' + field3 as field from tablename
这样就可以了,将多个字段合并,你还可以适当增加分隔符。
以上是关于SQL 将某列数据赋值到上一行的主要内容,如果未能解决你的问题,请参考以下文章