MySQL 创建数据透视查询
示例
MySQL没有提供创建透视查询的内置方法。但是,可以使用准备好的语句来创建它们。
假设表tbl_values:
请求:创建一个查询,显示Value每个查询的总和Name;的Group必须是列标题,Name必须是行标题。
-- 1. Create an expression that builds the columns
set @sql = (
select group_concat(distinct
concat(
"sum(case when `Group`='", Group, "' then `Value` end) as `", `Group`, "`"
)
)
from tbl_values
);
-- 2. Complete the SQL instruction
set @sql = concat("select Name, ", @sql, " from tbl_values group by `Name`");
-- 3. Create a prepared statement
prepare stmt from @sql;
-- 4. Execute the prepared statement
execute stmt;结果:
重要提示:不再需要准备好的语句时,请对其进行分配:
deallocate prepare stmt;
SQL小提琴上的示例
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法