动态sql行转列

news2024/12/24 20:17:47

动态sql行转列

  • 介绍
  • 案例
    • 转之前
    • 转之后
  • 注意

介绍

本篇介绍 根据 时间格式化后行转列的案例讲解动态sql案例的初学

案例

--设置一个动态变量 赋予初始值
SET @sql = NULL;

--获取规范化后需要用到的行头列表
SELECT GROUP_CONCAT(CONCAT(
		--注意1
        'MAX(IF(date = "', date, '", count, NULL)) AS "', date, '"'
    )
 -- 将需要的行头插到变量里
) INTO @sql 
FROM (
	-- 注意2
    SELECT DATE_FORMAT(clounm_date,'%Y-%m-%d') as date, count(id) as count
    FROM table_name 
    WHERE sale_date>'2023-11-01'
    GROUP BY DATE_FORMAT(clounm_date,'%Y-%m-%d')
) a;

-- 这里的@sql 是构造行转列的sql语句
--注意3
SET @sql = CONCAT('SELECT ', @sql, ' FROM (SELECT id, DATE_FORMAT(clounm_date,"%Y-%m-%d") as date, count(id) as count FROM table_name GROUP BY date) t ');
-- 执行动态sql  既上一步构造的@sql
-- 将动态sql赋给别名stmt的作准备
PREPARE stmt FROM @sql;
--执行stmt
EXECUTE stmt;
--执行完之后 释放准备  可以理解为释放缓存
DEALLOCATE PREPARE stmt;

转之前

在这里插入图片描述

转之后

在这里插入图片描述

注意

1、这里的date是注意2中的字段,如果不一致则会有报错
这里也可以用case when … then … end
2、这里是子查询,要将行头date和其对应的count都标注出来,要不然查询出来的就是null,这里的列名要和注意3中包含的,如果不在则会报错,这里的子查询出来的视图要给别称
3、这里是组合查询 案例中给的是新查出来的视图,要标注你需要的列别名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1222661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Eclipse使用配置tomcat服务:Server配置

目标: 在Eclipse中,默认会把Web项目放到Eclipse的工作空间下 的.metadata\.plugins\org.eclipse.wst.server.core\tmp0(或者是tmp1)\wtpwebapps\下 ,如果现在Eclipse中有名为imsmanagere的项目,将它按以前的方式部署到服务器上&am…

揭示CDN加速的局限性与探讨其小众化原因

在网络加速领域,CDN(内容分发网络)被认为是提升性能的关键技术之一。然而,尽管其在某些方面表现出色,CDN在广泛应用中仍然相对小众。本文将从CDN加速的局限性出发,深入探讨为何这项技术尚未迎来大规模的应用…

【网络安全】伪装IP网络攻击的识别方法

随着互联网的普及和数字化进程的加速,网络攻击事件屡见不鲜。其中,伪装IP的网络攻击是一种较为常见的攻击方式。为了保护网络安全,我们需要了解如何识别和防范这种攻击。 一、伪装IP网络攻击的概念 伪装IP网络攻击是指攻击者通过篡改、伪造I…

天猫精灵/小爱同学+巴法云+Openwrt控制局电脑/群晖开关机

天猫精灵/小爱同学巴法云Openwrt控制局电脑/群晖开关机 事情的起因实战环境开始发车1.天猫精灵/小爱同学 连接 八法云 2.openwrt3.docker环节注意:sshpass 要先使用 ssh命令登陆一下你要唤醒或者远程关机的设备,不然可能因为一个登陆提示你是否登陆的yes/no导致程序没有反应,然…

DeepMind发布新模型Mirasol3B:更高效处理音频、视频数据

Google DeepMind日前悄然宣布了其人工智能研究的重大进展,推出了一款名为“Mirasol3B”的新型自回归模型,旨在提升对长视频输入的理解能力。该新模型展示了一种颠覆性的多模态学习方法,以更综合和高效的方式处理音频、视频和文本数据。 Googl…

Mysql数据备份 —xtrabackup

一 备份介绍 ### 优点: 1. **在线备份:** XtraBackup 支持在线备份,这意味着你可以在 MySQL 服务器运行的同时进行备份,而无需停止数据库服务。这对于生产环境中的数据库是非常关键的,因为可以最小化停机时间。 2. **…

算法:记忆化搜索

文章目录 记忆化搜索斐波那契数列 例题不同路径最长递增子序列猜数字大小矩阵中的最长递增路径 记忆化搜索的原理其实很简单,简单来说就是对暴力搜索的一些优化,因此整体上来讲难度不高 记忆化搜索 所谓记忆化搜索,直白来说就是一个带有备忘…

MATLAB中plotmatrix函数用法

目录 语法 说明 示例 使用两个矩阵输入创建散点图矩阵 使用一个矩阵输入创建散点图矩阵 指定标记类型和颜色 创建并修改散点图矩阵 plotmatrix函数的功能是创建散点图矩阵。 语法 plotmatrix(X,Y) plotmatrix(X) plotmatrix(___,LineSpec) plotmatrix(ax,___) [S,AX,B…

一次显著的接口性能优化,从10s优化到0.9s

最近在登录项目后台的时候,发现当我输入账号和密码后,竟然就卡在了 Loading 页面。。 加载了10S才进后台 等了足足 10S 才进去后台! 通过 F12,打开 Network 网络请求一看,竟然是因为有两个接口返回的数据太慢了&#…

挑战单芯片NOA,这款“All in one”方案或将改变主流市场走向

随着降本增效、电子架构升级(尤其是跨域计算、多域融合等概念)以及供应链减复(降低电子物料的SKU)的需求愈加明确,对于车载计算赛道,也带来新的变化。 比如,去年9月,英伟达率先发布下…

群晖邮件设置,错误535 Authenticate failed问题

设置邮件通知或者报警很方便,群晖内部内置这个功能。在设置的时候遇到错误535 Error:authentication failed。 原因是:这个错误就是认证失败! 但是相信很多的同学明明用户名和密码填的是对的,就是说认证失败&#xf…

RTLS 颠覆制造业方式之——库存管理

跟踪库存对于每个行业(不仅仅是制造业)来说都是一项技术挑战。然而,在计划外停机每小时可能造成数十万美元损失的环境中,智能库存尤其重要,而这通常是由于一两个物体丢失造成的。 1.自动化库存报告 RTLS 提供的最有价…

[HTML]Web前端开发技术1,meta,HBuilder等——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

九. Linux网络命令

网络命令write 网络命令wall 网络命令ping 首先,ping程序会向域名服务器(DNS)发送请求,解析域名www.baidu.com的IP地址。DNS返回域名的一个别名www.a.shifen.com以及对应的IP地址183.2.172.185。之后ping程序开始向这个地址发送请求报文,每1s…

浅谈霍尔电流传感器在UPS蓄电池浮充电流远程监测方案的应用-安科瑞 蒋静

摘要:针对无人平台UPS蓄电池多次出现浮充电流过高的现象,介绍了UPS系统的结构和工作原理,通过应用霍尔电流传感器,DCS组态,实现UPS蓄电池浮充电流远程监控,异常电流故障报警,推动了无人平台的自…

IO流-数据流

一,IO流-数据流 二,数据输出流 三,案例 package BigDecimal;import java.io.DataOutputStream; import java.io.FileOutputStream;public class DATaOutputStreamss {public static void main(String[] args) {try ( //1,创建一个数据输出流…

linuxTcp状态转换

1.TCP状态转换 在TCP进行三次握手,或者四次挥手的过程中,通信的服务器和客户端内部会发送状态上的变化,发生的状态变化在程序中是看不到的,这个状态的变化也不需要程序猿去维护,但是在某些情况下进行程序的调试会去查…

YB203H系列是一组CMOS技术实现的三端低功耗高电压稳压器

概述: YB203H系列是一组CMOS技术实现的三端低功耗高电压稳压器。输出电流为200mA且允许的输入电压可高达80V。具有几个固定的输出电压,范围从2.1V到12.0V.CMOS技术可确保其具有低压降和低静态电流的特性。最高耐压100W.尽管主要为固定电压调节器而设计,…

Spring过滤器和拦截器的区别

📑前言 本文主要Spring过滤器和拦截器的区别的问题,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句&#x…

【Linux】Linux进程间通信(三)

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:Linux 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【Linux】…