SQL行轉列統計問題
今天在CSDN上看見有人提出如下的SQL統計問題,於是幫他寫了一個SQL語句。
問題如下:
表結構如下
要實現的效果如下:
這個涉及行專列問題,SQL語句如下:
insert into product values('13303','茶杯','藍色','a',20);
insert into product values('13303','茶杯','藍色','b',10);
insert into product values('13303','茶杯','藍色','c',30);
insert into product values('13303','茶杯','灰色','a',10);
insert into product values('13304','水杯','白色','b',20);
declare @sql varchar(8000)
set @sql = 'select [id],[name],[color] '
select @sql = @sql + ' , max(case [size] when ''' + [size] + ''' then number else 0 end) [' + [size] + ']'
from (select distinct [size] from product) as a
set @sql = @sql + ' from product group by [id],[name],[color]'
exec(@sql)
最終顯示效果如下圖:
SQL行列轉換+合併操作,原帖地址:http://bbs.csdn.net/topics/390348963
Create table 資料 --建立表
(
ID Int IDENTITY(1,1) not null,
編號 Varchar(50),
明細 Varchar(50),
Primary Key(ID)
);
Insert Into 資料
Select 1,'a' Union all
Select 1,'b' Union all
Select 1,'c' Union all
Select 2,'a' Union all
Select 2,'b' Union all
Select 2,'d'Union all
Select 3,'a'Union all
Select 3,'b'
--建立自定義函式
Create Function CSDN
(
@mx Varchar(50)
)
Returns Varchar(8000)
as
Begin
Declare @str Varchar(8000)
Set @str = ''
Select @str = @str + cast(明細 as Varchar(50)) + ',' from 資料 Where 編號 = @mx
Set @str = SubString(@str,1,len(@str)-1)
Return(@str)
End
--呼叫自定義函式得到結果
Select Distinct 編號,dbo.CSDN(編號) as 明細From 資料;
相關文章
- SQL 行轉列,列轉行SQL
- SQL列轉行SQL
- sql的行轉列(PIVOT)與列轉行(UNPIVOT)SQL
- My SQL 列轉行操作SQL
- Oracle行轉列、列轉行的Sql語句總結OracleSQL
- SQL 行轉列 PIVOT 學習示例SQL
- Databricks 第11篇:Spark SQL 查詢(行轉列、列轉行、Lateral View、排序)SparkSQLView排序
- SQL優化案例-從執行計劃定位SQL問題(三)SQL優化
- SQL最佳化案例-從執行計劃定位SQL問題(三)SQL
- SQL執行計劃異常引起的效能問題SQL
- SQL執行計劃異常 引起的效能問題SQL
- 行轉列與列轉行
- Mysql - 行轉列、列轉行MySql
- Spark SQL中列轉行(UNPIVOT)的兩種方法SparkSQL
- 陣列和列表的轉換問題陣列
- 用SQL解決有向圖問題(轉)SQL
- Oracle優化案例-從執行計劃定位SQL問題(三)Oracle優化SQL
- hive經典案列--top N(行轉列\列轉行)Hive
- oracle列轉行Oracle
- CMD執行命令列時卡住的問題命令列
- SQL語句中的AND和OR執行順序問題SQL
- SQL Server中datetimeset轉換datetime型別問題淺析SQLServer型別
- 陣列轉json後的資料型別問題陣列JSON資料型別
- SQL 轉置計算SQL
- SQL問題診斷SQL
- [20221126]tpt pr.sql指令碼執行問題.txtSQL指令碼
- flex佈局,一行三列布局問題Flex
- T-SQL——將字串轉為單列SQL字串
- 有點難以描述的問題(轉列+排序+去重)排序
- 簡單介紹最新python 字串陣列互轉問題Python字串陣列
- Oracle資料庫關於SQL的執行計劃(轉)Oracle資料庫SQL
- [20190221]sql patch 問題.txtSQL
- Navicat 匯出sql問題SQL
- SQL最佳化問題SQL
- sql 模糊查詢問題SQL
- Slave SQL執行緒與PXB FTWRL死鎖問題分析SQL執行緒
- SQL中rownum和order by的執行順序的問題SQL
- php陣列問題PHP陣列
- leetcode題解(陣列問題)LeetCode陣列