用adoquery找到需要的数据,比如得到了一段时间内的数据,现在想从某列中选出相同的值怎么做?
比如从8:00到10:00这个时间段内共出钢100块,其中钢种有四种,怎么能分辨出里面的钢种种类作为一个combox的items呢?

解决方案 »

  1.   

    AdoQuery.First;
    while not AdoQuery.Eof do
    begin
      AdoQuery.Fields[0]...
      AdoQuery.Next;
    end;
      

  2.   

    for...to...donext...or 
    while not ado.eof donext...
      

  3.   

    --功能概述:删除重复记录
    --做成时间:2008/10/31在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢?谢谢! 
    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 
    select * from people 
    where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1) 2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 
    delete from people 
    where peopleId  in (select  peopleId  from people  group  by  peopleId  having  count(peopleId) > 1) 
    and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1) 3、查找表中多余的重复记录(多个字段) 
    select * from vitae a 
    where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1) 4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录 
    delete from vitae a 
    where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) 
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1) 5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录 
    select * from vitae a 
    where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) 
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1) 比方说在A表中存在一个字段“name”,而且不同记录之间的“name”值有可能会相同, 
    现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项; 
    Select Name,Count(*) From A Group By Name Having Count(*) > 1 如果还查性别也相同大则如下: 
    Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1
      

  4.   

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断  
    select * from people  
    where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)  2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录  
    delete from people  
    where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)  
    and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)  3、查找表中多余的重复记录(多个字段)  
    select * from vitae a  
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)  4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录  
    delete from vitae a  
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)  
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)  5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录  
    select * from vitae a  
    where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)  
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)  比方说在A表中存在一个字段“name”,而且不同记录之间的“name”值有可能会相同,  
    现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;  
    Select Name,Count(*) From A Group By Name Having Count(*) > 1  如果还查性别也相同大则如下:  
    Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1