表employee和orders,使用sql命令检索订单人数最多的前三名职工的职工号,姓名和订单数
表employee和orders,使用sql命令检索订单人数最多的前三名职工的职工号,姓名和订单数答案是SELECTTOP3Orders.职工号,Employee.姓名,...
表employee和orders,使用sql命令检索订单人数最多的前三名职工的职工号,姓名和订单数
答案是
SELECT TOP 3 Orders.职工号, Employee.姓名, COUNT(*) AS 订单数;
FROM employee INNER JOIN orders ;
ON Employee.职工号 = Orders.职工号;
GROUP BY Orders.职工号;
ORDER BY 订单数 DESC;
INTO TABLE newcoun.dbf
表结构是
orders:职工号 C,供应商号 C,订购单号 C,订购日期 ,金额 N
employee:仓库号C,职工号C,姓名C,性别C,出生日期D,民族C,工作日期 D,婚否L,职称C,工资N2
我写的是,
SELECT TOP 3 Orders.职工号, Employee.姓名, COUNT(orders.订购单号) AS 订单数;
FROM employee INNER JOIN orders ;
ON Employee.职工号 = Orders.职工号;
ORDER BY 订单数 DESC;
INTO TABLE newcoun.dbf
错了吗??? 展开
答案是
SELECT TOP 3 Orders.职工号, Employee.姓名, COUNT(*) AS 订单数;
FROM employee INNER JOIN orders ;
ON Employee.职工号 = Orders.职工号;
GROUP BY Orders.职工号;
ORDER BY 订单数 DESC;
INTO TABLE newcoun.dbf
表结构是
orders:职工号 C,供应商号 C,订购单号 C,订购日期 ,金额 N
employee:仓库号C,职工号C,姓名C,性别C,出生日期D,民族C,工作日期 D,婚否L,职称C,工资N2
我写的是,
SELECT TOP 3 Orders.职工号, Employee.姓名, COUNT(orders.订购单号) AS 订单数;
FROM employee INNER JOIN orders ;
ON Employee.职工号 = Orders.职工号;
ORDER BY 订单数 DESC;
INTO TABLE newcoun.dbf
错了吗??? 展开
1个回答
展开全部
没错,其实差别就在 COUNT(orders.订购单号) AS 订单数 和
COUNT(*) AS 订单数
他俩的唯一区别就是,如果有订单号为NULL的情况下COUNT(orders.订购单号)不把这个空计算在内,而COUNT(*)则把这个空值也算做有效
COUNT(*) AS 订单数
他俩的唯一区别就是,如果有订单号为NULL的情况下COUNT(orders.订购单号)不把这个空计算在内,而COUNT(*)则把这个空值也算做有效
追问
可是这样,在做vf试题时。它就没给我分!
追答
批卷的人的问题,不用太纠结这事,有的老师就是按标准答案来看,错了就不给分,兴许老师自己没空,不知道找哪个人帮着批阅的呢。有的时候多相信一下自己的实力
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询