问题描述
dataTable内的数据是这样的,我想按下面这样排序:排序的依据是:dw字段中y的统计数为5,z的统计为3,x的统计为2有什么办法能做到吗?程序是.NET2.0的,所以不能用linqjavascript:void(0);
解决方案
解决方案二:
1、遍历,统计出datatable里面dw列每个元素的数量,得到一个中间表dt1ItemCountx2y5z3
2、根据dt1的Count回过头来查询datatable,构造你上面的结果集
解决方案三:
谢楼上,第一步容易,第二步怎么搞呢?
解决方案四:
SELECT*FROM(SELECTAA.*,BB.CFROMORDERBY(NOLOCK)AAJOIN(SELECTB,COUNT(B)ASCFROMORDERBY(NOLOCK)GROUPBYB)ASBBONAA.B=BB.B)CCORDERBYCDSELECT*FROM(SELECTAA.*,BB.CFROMORDERBY(NOLOCK)AAJOIN(SELECTB,COUNT(B)ASCFROMORDERBY(NOLOCK)GROUPBYB)ASBBONAA.B=BB.B)CCORDERBYCDESC,ASELECT*FROM(SELECTAA.*,BB.CFROMORDERBY(NOLOCK)AAJOIN(SELECTB,COUNT(B)ASCFROMORDERBY(NOLOCK)GROUPBYB)ASBBONAA.B=BB.B)CCORDERBYCDESC,ASELECT*FROM(SELECTAA.*,BB.CFROMORDERBY(NOLOCK)AAJOIN(SELECTB,COUNT(B)ASCFROMORDERBY(NOLOCK)GROUPBYB)ASBBONAA.B=BB.B)CCORDERBYCDESC,AESC,A
解决方案五:
DataViewSort或者直接Sql语句排
解决方案六:
SELECT*FROM(SELECTAA.*,BB.CFROMORDERBY(NOLOCK)AAJOIN(SELECTB,COUNT(B)ASCFROMORDERBY(NOLOCK)GROUPBYB)ASBBONAA.B=BB.B)CCORDERBYCDESC,A