在SQL Server数据库表查询过程中,我们往往需要将查询结果中的列数据进行处理,如拼接成一条完整的记录。这些操作一般简称为查询结果的列转行操作。本文以某一项目实际需求为背景对查询结果的列转行实现过程进行分析。
问题描述
假设存在以下数据表,数据表名称为judger,字段包括sid,sname,jid,pname。该表为某竞赛裁判信息表,其中sid为竞赛项目编号,sname为竞赛名称,jid为裁判编号,pname为裁判所属省份。表结构及基本数据描述如下图:
2025年05月26日
在SQL Server数据库表查询过程中,我们往往需要将查询结果中的列数据进行处理,如拼接成一条完整的记录。这些操作一般简称为查询结果的列转行操作。本文以某一项目实际需求为背景对查询结果的列转行实现过程进行分析。
假设存在以下数据表,数据表名称为judger,字段包括sid,sname,jid,pname。该表为某竞赛裁判信息表,其中sid为竞赛项目编号,sname为竞赛名称,jid为裁判编号,pname为裁判所属省份。表结构及基本数据描述如下图:
2025年05月26日
在数据库开发中,NULL 值处理是极易引发逻辑错误的技术难点。本文从 SQL 标准规范出发,系统梳理 NULL 值的底层逻辑与工程实践要点,帮助开发者建立完整的 NULL 值处理知识体系。
SQL 独特的三值逻辑模型包含 TRUE、FALSE、UNKNOWN 三种状态。当布尔表达式涉及 NULL 值时,运算结果会呈现 UNKNOWN 状态:
2024年08月18日
这天我正在午休呢,公司DBA就把我喊醒了,说某库出现大量慢SQL,很快啊,很快,我还没反应过来,库就挂了,我心想现在的用户不讲武德啊,怎么在我睡觉的时候大量请求呢。
2024年08月18日
在做数据分析时,我们会经常听到同比、环比的概念。各个企业和组织在发布统计数据时,通常喜欢用同比、环比来和之前的历史数据进行比较,用来说明数据的变化情况。例如,统计局公布2022年1月份CPI同比增长0.9%,环比增长0.6%。
实际在基于数据库的数据分析场景中,环比和同比是典型的复杂计算场景之一,特别是在Oracle等商业数据库的分析函数出现之前。以MySQL为例,在8.0版本中才引入了Lag和Lead函数,这两个函数结合开窗函数有效提高了同比、环比等复杂运算的实现效率。在5.x系列版本中,MySQL需要依赖多次嵌套子查询和自关联才能实现此类计算。
2024年08月18日
今天同事给了我一个文件需要更新下CMDB的数据,提供的内容是excel的形式,因为条目比较多,我需要做一些转换,批量修改成对应的SQL语句,因为只有我知道这个逻辑,所以这个转换工作由我来做。
本来看起来很简单的一个问题,结果因为不经意的操作出了两个问题,会牵扯出来两条有趣的SQL问题。
首先excel数据类似下面的形式:
2024年08月18日
SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,通过SQL语句,实现无账号登录,甚至篡改数据库。