日期:2014-05-17  浏览次数:20519 次

求一个sql语句,快下班了,急求!!
有一张表pEdu,数据如下

eid   eidx    ename    elevel  eflag
2 1 j 1 1
5 1 2 1 1
9 0 123 0 0
19 34 123 0 0
20 34 123 0 0
21 34 123 0 0
22 34 111 0 0
23 34 111 0 0
24 45 123 0 0
25 46 132 0 0
26 46 123 0 0
27 47 123 0 0
28 47 123 0 0
38 50 update 0 0
48 54 2 0 0
50 55 123 0 0
51 55 132 0 0
55 56 1323 0 0
56 56 123 0 0

SELECT eName,eIDx FROM pEdu WHERE eName LIKE '%1%' GROUP BY eIDx, eName
现在我对数据进行分组查询,查询出我Name中含有1的数据,如下
eName    eIDx
123      0
111      34
123      34
123      45
123      46
132      46
123      47
123      55
132      55
123      56
1323     56

现在问题来了,我想根据上面的数据再次进行查询,只查询出123,111,132和1323这4条数据,但是是根据
COUNT来排列的,也就是说123排在最前,111和1323排在最后,请问sql语句应该怎么写?最好是用一条子查询语句,存储过程就算了,求大牛解答疑惑



------解决方案--------------------
if OBJECT_ID('tempdb..#temp', 'u') is not null   drop table #temp;
CREATE TABLE #temp(eid INT, eidx INT,  ename VARCHAR(100),   elevel INT,  eflag INT)
insert #temp
select '2','1','j','1','1' union all
select '5','1','2','1','1' union ALL
select '9','0','123','0','0' union all
select '19','34','123','0','0' union all
select '20','34','123','0','0' union all
select '21','34','123','0','0' union all
select '22','34','111','0','0' union all
select '23','34','111','0','0' union all
select '24','45','123','0','0' union all
select '25','46','132','0','0' union all
select '26','46','123','0','0' union all
select '27','47','123','0','0' union all