一个DataTable(名字T1)中有2列,c1,c2
c1中有不同的值,我想取到c1中不同值的个数和值
比如
c1  c2
1   2
1   3
1   4
2   5
2   6
3   7这样一个表,我想取到c1中的不同值的个数是3,并且值是1,2,3除了遍历这个表,还有别的方法吗?
(具体表的数据量太大,遍历起来效率太低了)

解决方案 »

  1.   

    select b.total,a.c2 from T1 a inner join (select c1,count(c1) as total from T1 group by c1) b
    on a.c1=b.c1 
      

  2.   

    DataTable.DefaultView.ToTable(true, FieldNames); 
    具体的你可以去看看MSDN 
      

  3.   


    要在DataTable中处理,不是用sql语句处理,我只管接收数据,然后对数据处理,数据库的操作不归我管
      

  4.   

    不在sql中处理,除了遍历,想不出还有别的方法。
      

  5.   

    select distinct c1
    不就可以了嘛
      

  6.   

    那就用
    DataTable.Computer("count(c1)","");
      

  7.   

    DataTable也支持一写简单的SQL过滤条件。你看看。如果不行就只有自己写算发遍历了很简单的。除了遍历应该没有别的办法。就算是ORACEL的SQL语句也是遍历,可能算法不同而已。