特殊SQL语法
1、SELECT C, SUM() OVER (PARTITION BY A, B) FROM TABLE 条件汇总
2、RANK()函数,返回结果集分区内指定字段的值的排名
如:Select rank() over(order by s_score desc) as 名次,s_class,s_id,s_score from s_score
3、列转行(UNPIVOT)、行转列(PIVOT)
4、STUFF(expression_to_be_searched varchar, starting_position int, number_of_chars int, replacement_expression varchar):用另一个子字符串替换一个子字符串,类似 replace函数
5、FOR XML PATH(‘’)
SELECT a.AccWarehouseNo FROM accWarehouse a for xml path('GAME')
<GAME>
<AccWarehouseNo>AW01010001</AccWarehouseNo>
</GAME>
SELECT STUFF(a.AccWarehouseNo, 1, 0, '') FROM accWarehouse a for xml path('GAME')
<GAME>AW01010001</GAME>
6、Rank()和ROW_NUMBER()
Rank():生产连续ID,即使一样数据排名也不一样
SELECT DEPTNO, STDDEPTNO, RANK() OVER(PARTITION BY DEPTNO ORDER BY STDDEPTNO ) FROM accWarehouse
ROW_NUMBER():生产不连续ID,即一样数据排名一样
SELECT DEPTNO, STDDEPTNO, ROW_NUMBER() OVER(PARTITION BY DEPTNO ORDER BY STDDEPTNO ) FROM accWarehouse
7、分页
1)、使用ROW_NUMBER()
2)、OFFSET/FETCH NEXT:对应LINQ的Skip()和Take(),list.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList()
SELECT * FROM TABLE ORDER BY A OFFSET ((pageIndex - 1) * pageSize) ROWS FETCH NEXT pageSize ROWS ONLY
本文来自博客园,作者:瘋孑,转载请注明原文链接:https://www.cnblogs.com/WebApp-DotNet/p/17265597.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2017-03-28 html标签