Office中国论坛/Access中国论坛

标题: access2007 用first()在SQL server2008r2中不可识别 [打印本页]

作者: 天涯沦落20131    时间: 2018-12-3 09:10
标题: access2007 用first()在SQL server2008r2中不可识别
SELECT First(注塑_员工超额总分.职位) AS 职位, 注塑_员工超额总分.组别, Sum(注塑_员工超额总分.超额得分) AS 超额得分
FROM 注塑_员工超额总分
GROUP BY 注塑_员工超额总分.组别;
SQL server中视图查询如何写!请高手指点!谢谢!
作者: 天涯沦落20131    时间: 2018-12-3 10:18
百度了一下:用TOP1可以实现,不得要领!请高手指点如何写代码:SELECT TOP 1   注塑_员工超额总分.职位as 职位,注塑_员工超额总分.组别, Sum(注塑_员工超额总分.超额得分) AS 超额得分FROM 注塑_员工超额总分
ORDER BY注塑_员工超额总分.组别;急!

作者: roych    时间: 2018-12-3 10:56
TOP 1貌似只能有一个吧?应该用开窗函数partition over的。
作者: 天涯沦落20131    时间: 2018-12-3 15:22
roych 发表于 2018-12-3 10:56
TOP 1貌似只能有一个吧?应该用开窗函数partition over的。

我用的min()也不知道对不对;百度了,first()----sql server  min();last()------sql server  max() 知道的说说差别
作者: roych    时间: 2018-12-3 17:44
估计你想要的效果应该是这样吧。。。这里加上了嵌套,所以就可以直接取top 1了(注意去掉截图中的order by部分)。
——这里不能贴代码了,看楼下。
[attach]63110[/attach]
作者: roych    时间: 2018-12-3 17:53
  1. select * from(
  2.   select 统计日期 ,部门, sum(当日接通次数总计) 数量, rank() over(partition by 统计日期
  3.    order by sum(当日接通次数总计) desc) t
  4.   from tblSummary_his
  5.   group by 部门,统计日期) a
  6.   where a.t=1
复制代码

作者: 天涯沦落20131    时间: 2018-12-4 14:12
roych 发表于 2018-12-3 17:53

roych:你太强大了!确认我需要的!谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3