日期:2014-05-18  浏览次数:20381 次

急救啊....
各位,我要崩溃了..怎么样遍历才能实现啊..
题目:
数据库:
ChannelID     |   classID       |         Title     |
1035                       8                           绿晓
1035                       8                           金瓯
1035                       8                           龙虎
1035                       8                           northton
1035                       8                             绿晓
我要判断如果有重复的就输出,没有重复的就不输出.
我实现的思路就是:第一行和下面的几行进行判断,然后下一次循环就第二行和下面的几行进行判断.但是我会出现重复.大家帮帮我解决一下.
代码如下:
Operater   operater=new   Operater();
string   sql= "select   top   6   *   from   PE_ZhuanRan ";
DataTable   dt=operater.executeQueryDataTable(sql);
string   f= " ";
for(int   i=0;i <dt.Rows.Count-1;i++)
{
for(int   j=1;j <dt.Rows.Count-1;j++)
{
if(dt.Rows[i][5].Equals     (dt.Rows[j][5].ToString()))
{
Response.Write(dt.Rows[i][5]);
}
else
{
Response.Write( "不相等 ");
}

}
}


------解决方案--------------------
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

用一条语句就行。。给楼主个例子 

呵呵 给分吧
------解决方案--------------------
用算法实现效率不怎样..

比如 1 2 2 1 1 3 返回结果应该是1和2吧?
那lz可以考虑用一个结合把重复的结果存放起来... 如果集合里没有...那就添加重复的结果..就是效率不太高