10月24
记得前段时间,好几次面试都有问到我这个问题,也就是怎么查询数据库中重复的数据呢,并且还需要把重复数据据替换掉,现在做个笔记方便自己以后复习和查找,也给大家分享供大家参考下。
一、在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较高效的,如下语句:
select data_guid from adam_entity_datas a where a.rowid > (select min(b.rowid) from adam_entity_datas b where b.data_guid = a.data_guid)
如果表中有大量数据,但是重复数据比较少,那么可以用下面的语句提高效率
select data_guid from adam_entity_datas where data_guid in (select data_guid from adam_entity_datas group by data_guid having count(*) > 1)
此方法查询出所有重复记录了,也就是说,只要是重复的就选出来,下面的语句也许更高效
select data_guid from adam_entity_datas where rowid in (select rid from (select rowid rid,row_number()over(partition by data_guid order by rowid) m from adam_entity_datas) where m <> 1)
目前只知道这三种比较有效的方法。
第一种方法比较好理解,但是最慢,第二种方法最快,但是选出来的记录是所有重复的记录,而不是一个重复记录的列表,第三种方法,我认为最好。
一、在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较高效的,如下语句:
select data_guid from adam_entity_datas a where a.rowid > (select min(b.rowid) from adam_entity_datas b where b.data_guid = a.data_guid)
如果表中有大量数据,但是重复数据比较少,那么可以用下面的语句提高效率
select data_guid from adam_entity_datas where data_guid in (select data_guid from adam_entity_datas group by data_guid having count(*) > 1)
此方法查询出所有重复记录了,也就是说,只要是重复的就选出来,下面的语句也许更高效
select data_guid from adam_entity_datas where rowid in (select rid from (select rowid rid,row_number()over(partition by data_guid order by rowid) m from adam_entity_datas) where m <> 1)
目前只知道这三种比较有效的方法。
第一种方法比较好理解,但是最慢,第二种方法最快,但是选出来的记录是所有重复的记录,而不是一个重复记录的列表,第三种方法,我认为最好。
10月24
1.报错除了报如题的错误外,还报了error listenerStart的错误。项目是从svn检出来的,虽然包已经放到lib中。但实际并未加到path的Libraries里,因此build path中的libraries选项卡点add jars。把没加进的包加进去就可以了。
2.把X:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\temp0\work删除掉,clean项目,重新启动tomcat即可。
3.jre版本的问题。在java的compile下面选对应的jre即可。
2.把X:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\temp0\work删除掉,clean项目,重新启动tomcat即可。
3.jre版本的问题。在java的compile下面选对应的jre即可。
10月24
在java或者jsp中实现下载文件代码如下:
<%@ page language="java" pageEncoding="gb2312"
import="tk.Heck.until.*" import="java.sql.*"
contentType="text/html;charset=GB2312"%>
<%@ page
import="tk.Heck .services.*,java.io.*, java.util.*, java.text.*"%>
<jsp:directive.page import="java.util.Date" />
<%
//String path = request.getContextPath();
//String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String zygx_id=request.getParameter("zygxid");
String zygxurl=request.getParameter("zygxurl");
String zygxYwjm=request.getParameter("zygxywjm");
zygxurl = zygxurl.substring(zygxurl.lastIndexOf("/"),zygxurl.length());//截取url中文件名
Str str=new Str();
int zygxid=str.parseInt(zygx_id);
%>
<%@ page language="java" pageEncoding="gb2312"
import="tk.Heck.until.*" import="java.sql.*"
contentType="text/html;charset=GB2312"%>
<%@ page
import="tk.Heck .services.*,java.io.*, java.util.*, java.text.*"%>
<jsp:directive.page import="java.util.Date" />
<%
//String path = request.getContextPath();
//String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String zygx_id=request.getParameter("zygxid");
String zygxurl=request.getParameter("zygxurl");
String zygxYwjm=request.getParameter("zygxywjm");
zygxurl = zygxurl.substring(zygxurl.lastIndexOf("/"),zygxurl.length());//截取url中文件名
Str str=new Str();
int zygxid=str.parseInt(zygx_id);
%>
10月24
我们在java中用SAX方式解析XML,XML文件如下:
<?xml version="1.0" encoding="gb2312"?>
<person>
<name>姜军</name>
<college>信息学院</college>
<telephone>6258113</telephone>
<notes>男,1985年生,将军 ,95年调入广州军区</notes>
</person>
<?xml version="1.0" encoding="gb2312"?>
<person>
<name>姜军</name>
<college>信息学院</college>
<telephone>6258113</telephone>
<notes>男,1985年生,将军 ,95年调入广州军区</notes>
</person>
10月24
首先要引入using System.Text.RegularExpressions;
string pattern = @"^[a-zA-Z0-9]+$";//正则式子
string param1 = null;
Match m = Regex.Match(this.textBox1.Text, pattern); // 匹配正则表达式,把this.textBox1.Text跟pattern正则对比
if (!m.Success) // 判断输入的是不是英文和数字,不是进入
{
param1 = this.textBox1.Text;//将现在textBox的值保存下来
// 将光标定位到文本框的最后
this.textBox1.SelectionStart = this.textBox1.Text.Length;
}
string pattern = @"^[a-zA-Z0-9]+$";//正则式子
string param1 = null;
Match m = Regex.Match(this.textBox1.Text, pattern); // 匹配正则表达式,把this.textBox1.Text跟pattern正则对比
if (!m.Success) // 判断输入的是不是英文和数字,不是进入
{
param1 = this.textBox1.Text;//将现在textBox的值保存下来
// 将光标定位到文本框的最后
this.textBox1.SelectionStart = this.textBox1.Text.Length;
}





