SQL Server用Cross Apply、Cross Join实现列转行

今天介绍4种列转行(又称宽表转长表、逆透视等)写法。 数据准备 CREATE TABLE Sales([Year] INT,Q1 INT,Q2 INT,Q3 INT,Q4 INT); GO INSERT INTO Sales([Year],Q1,Q2,Q3,Q4) VALUES (2017,12,123,324,123) ,(2018,13,455,324,878) ,(2019,29,786,473,633); SQL写法 UNION 最传统最通用写法 SELECT [Year],'Q1' AS [Quarter],Q1 AS Amount FROM Sales UNION ALL...

交叉表转换为横表

做BI或数据分析时,经常会遇到各类格式转换,这里将最近遇到的一个例子记录一下,分享几种SQL写法。 需求 千言万语抵不上一张图: 数据准备 CREATE TABLE dbo.CategoryConfig(Category VARCHAR(20),[Level]...

VIM常用命令

vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选...

Pandas读取Excel数据,简单清洗后存入数据库

场景描述 客户提供的Excel文件,需要进行简单清洗之后导入数据库。 代码实现 import pandas as pd import numpy as np import os from sqlalchemy import create_engine from sqlalchemy import text from sqlalchemy.types import Integer from sqlalchemy.types import NVARCHAR # Excel文...

ls -l命令结果解析

使用Linux经常用到ls命令,若加上l参数,会用长格式的形式显示文件列表。如下图: vagrant@vagrant-ubuntu-trusty-64:~$ ls -l total 528 -rw-r--r-- 1 vagrant vagrant 1656 Jul 17 2015 cephalopods.txt -rw-r--r-- 1 vagrant vagrant 1264 Jul 17 2015 gastropods_draft.txt -rw-r--r-- 1 vagrant vagrant 1585...