CREATE TABLE #A(
ID VARCHAR(20),
DDATE VARCHAR(20),
NUM INT
)
INSERT INTO #A VALUES ('CA01','2020年1月',1)
INSERT INTO #A VALUES ('CA01','2020年2月',2)
INSERT INTO #A VALUES ('CA01','2020年3月',3)
INSERT INTO #A VALUES ('CA02','2020年1月',4)
INSERT INTO #A VALUES ('CA03','2020年1月',5)
INSERT INTO #A VALUES ('CA04','2020年1月',6)
INSERT INTO #A VALUES ('CA04','2020年2月',7)
INSERT INTO #A VALUES ('CA04','2020年3月',8)
INSERT INTO #A VALUES ('CA05','2020年1月',9)
SELECT * FROM #A
DECLARE @SQL VARCHAR(MAX)='',@SQL1 VARCHAR(MAX)
SELECT @SQL = @SQL + ',' + QUOTENAME(A.DDATE) FROM #A A GROUP BY A.DDATE
SET @SQL1 = '
SELECT * FROM #A
PIVOT(
MAX(NUM) FOR DDATE IN (' + STUFF(@SQL,1,1,'') + ')
) A'
EXEC(@SQL1)
DROP TABLE #A
uj5u.com熱心網友回復:
為啥PIVOT的時候是MAX
uj5u.com熱心網友回復:
要用聚合函式,沒辦法
uj5u.com熱心網友回復:
CREATE TABLE #A(
ID VARCHAR(20),
DDATE VARCHAR(20),
NUM INT
)
INSERT INTO #A VALUES ('CA01','2020年1月',1)
INSERT INTO #A VALUES ('CA01','2020年2月',2)
INSERT INTO #A VALUES ('CA01','2020年3月',3)
INSERT INTO #A VALUES ('CA02','2020年1月',4)
INSERT INTO #A VALUES ('CA03','2020年1月',5)
INSERT INTO #A VALUES ('CA04','2020年1月',6)
INSERT INTO #A VALUES ('CA04','2020年2月',7)
INSERT INTO #A VALUES ('CA04','2020年3月',8)
INSERT INTO #A VALUES ('CA05','2020年1月',9)
SELECT * FROM #A
DECLARE @SQL VARCHAR(MAX)='',@SQL1 VARCHAR(MAX)
SELECT @SQL = @SQL + ',' + QUOTENAME(A.DDATE) FROM #A A GROUP BY A.DDATE
SET @SQL1 = '
SELECT * FROM #A
PIVOT(
MAX(NUM) FOR DDATE IN (' + STUFF(@SQL,1,1,'') + ')
) A'
EXEC(@SQL1)
DROP TABLE #A
為啥PIVOT的時候是MAX
看樓主的意思應該是一個日期對應一個數量。如果要是一個日期對應兩個數量,比如
INSERT INTO #A VALUES ('CA04','2020年2月',7)
INSERT INTO #A VALUES ('CA04','2020年2月',8)
我這個方法就不適用了
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......