level 5
order表中有字段"职工号“,"订单号”,求订单数前3的“订单数”。
我的答案是:(。。。其中的非重要过程我就省略了)
select top 3 职工号, count(订单号) as 订单数。。。。group by 职工号 order by 2 DESC
正确答案是:
select top 3 职工号, count(*) as 订单数。。。group by 职工号 order by 订单数 DESC
请问这两种count函数有区别??还有order by后面的加 2 或者 订单数 有区别吗?
2014年08月09日 02点08分
1
level 2
首先说明一下,count在这里的两个用法。在查询统计记录的个数时,要用count(*).
如果是查询某列中的个数时用count(列名)。
你在这order表中要查询的是订单号单数前3的订单数,而不是要查询order表中某列中的个数。这样讲似乎很难表达。
如:表by(s1,s2,s3). “统计参加了活动员工人次数” 则应该写成select count(s1) from by
2014年08月09日 06点08分
2