实现以上要求,我们可以用以下几种方式,但是效率却相差很远。
首先我们在Order表中,创建一个索引:
CREATE UNIQUE INDEX idx_eid_odD_oidD ON Orders(EmployeeID,OrderDate DESC,OrderID DESC)
多个OrderId是为了在OrderData相同的情况下,按订单号倒序,是个辅助属性。
方法1:
复制代码 代码如下:
SELECT EmployeeID,OrderID FROM Orders AS O1
WHERE OrderID = (
SELECT TOP(1)OrderID FROM Orders AS O2
WHERE O1.EmployeeID = O2.EmployeeID
ORDER BY OrderDate DESC ,OrderID DESC
)
如果想获得前n条订单信息,把 = 号改成IN,然后TOP(n)就可以了。
不论是取一条还是多条,即使有索引,数据多的情况下,也是最慢的。
方法2:
复制代码 代码如下:
SELECT O.EmployeeID,O.OrderID FROM (
SELECT EmployeeID,(SELECT TOP(1)OrderID FROM Orders AS O2 WHERE E.EmployeeID = O2.EmployeeID ORDER BY OrderDate DESC,OrderID DESC) AS OrderID
FROM Employees AS E
) AS EO
INNER JOIN Orders AS O
ON EO.OrderID = O.OrderID
方法2只能取一条信息,不能取多条信息。
在取一条的情况下,这个要比方法1快多了,因为用户相比订单信息要少很多。
方法3:
复制代码 代码如下:
SELECT E.EmployeeID,O.OrderID FROM Employees AS E
CROSS APPLY (
SELECT TOP(1)* FROM Orders AS O1 WHERE E.EmployeeID = O1.EmployeeID ORDER BY O1.OrderDate DESC,O1.OrderID DESC
) AS O
这个应用到了SQL Server 2005或更高版本的一些新特性,这个效率要比方法2还好。
如果想取得多条,只需更改TOP(n)即可。
APPLY详解,参见 https://www./article/28105.htm
方法4:
复制代码 代码如下:
SELECT O1.EmployeeID,O1.OrderID
FROM Orders O1 JOIN (
SELECT ROW_NUMBER() OVER(PARTITION BY EmployeeID ORDER BY OrderDate DESC,OrderID DESC) AS RowNumber,*
FROM Orders AS OT
) AS O2
ON O1.OrderID = O2.OrderID
WHERE O2.RowNumber = 1
这个ROW_NUMBER函数也是在SQL Server 2005后新增的,使用这个和方法3查不多,甚至比3更好,但要注意一点是先按EmployeeID分区,然后再排序。
结合以上方法, 建议用方法3。
相关推荐:
360AI写作怎样?助力创作的新风尚,ai到访
如何识别文章是否由AI撰写?揭开智能写作的秘密
为什么新手做seo好做,为什么要懂seo ,ai少女 3060显卡
文章AI排版,让创作更高效的秘密武器
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
撰写稿子的AI,写作的“超级助手”来了!
ChatGPT服务器坏了?了解背后的技术与应对策略,AI模块代表
不利于seo是什么,不属于seo对网店推广的作用 ,ai渐变下载
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
ChatGPTO1Pro模型:开启AI新纪元,免费应用带来无尽可能,苹果上的ai写作在哪里
怎么看文章是不是AI生成的?揭秘背后的玄机与技巧
SEO韩国:为您开启国际市场的增长之门,seo文章标题有哪些
亚马逊seo是什么公司的,“亚马逊” ,ai玩底特律
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
实用AI工具:提升效率、优化生活的科技利器
seo简报什么意思,seo工作汇报 ,万花筒 ai
SEO优化中怎么找关键词:全面解析与实战技巧,ai2002.4.8
揭开“好的AI软件”背后的秘密:让生活和工作更智能的利器
SEO架构:提升网站流量的核心策略,东营南江全平台营销推广
SEO模块:提升网站排名,驾驭数字营销未来,营口网站建设制作平台
ChatGPT页面不自动显示最新消息:如何解决这一困扰,提升使用体验?,斑马ai幼儿百度云网盘
WPJam:打破网站管理的壁垒,打造极致用户体验,广东谷歌seo工具
企业SEO:如何通过搜索引擎优化提升企业网络竞争力,安阳网站优化布局设计
SEO在线服务-让您的网站快速跃升至搜索引擎前列,江西小红书营销推广案例
SEO爱站:提升网站排名,赢得流量的秘密武器,优化网站设计价格多少
产品seo什么意思,产品seo标题是什么 ,ai模仿张宇
SEO建站,开启网站优化的全新篇章!,网络营销推广合作方式
AI网页版智能问答,开启智慧沟通新时代,ai梦境档案用不了手柄
SEO优化如何为网站做好关键词研究和优化,ai直通
Chatget免费网站版无需登录,畅享无限对话体验!,工业 Ai 视觉检测
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
ChatGPTCanvex打不开?详细分析及解决方法助你顺利使用,ai2.5d网格线去除
ChatGPT使用问题?如果您正在使用VPN,请尝试将其关闭,ai制作渐变立体
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
什么是seo平台seo教程,什么是 seoseo有何价值 ,论文写作ai助手公众号
AI免费生成文本,内容创作新篇章
ChatGPT手机下载后打不开?可能是这些问题导致的,解决方法在这里!,孤城ai动画
ChatGPT中文版下载,开启智能对话新体验,婚纱ai男
SEO走动:提升网站流量的关键一步,SEO数据监控宝宝推荐
SEO优化引导新官网,助力企业迈向成功之路,宋轶ai换
SEO优化是做什么的?让你的网站流量飙升的秘密武器,乳腺癌ai作用机理
文章续写AI:提升写作效率,创意无限
SEO考核:如何通过精准的SEO优化提升网站排名与流量,茶艺营销推广方案怎么写
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
seo软件叫什么,seo软件视频教程 ,eps ai 缩略图
ChatGPT坏了用什么?替代方案,满足你的智能对话需求,星际一的ai
Bing搜索的注意事项-提高搜索效率与准确性,轻松获取所需信息,最近ai写作软件推荐
SEO化学物质:如何在化工行业提升搜索引擎排名和品牌曝光,rack ai
未来工作方式!AI在线工具让效率倍增,工作变轻松
在线AI写文:开启高效创作新时代