我有一个MySQL查询,它根据我存储在主表的单独表中的某些数据生成一个数据透视表。数据透视表的查询是
SET @sql = NULL;
SET @@group_concat_max_len = 5000;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(cropname = ''',
cropname,
''', quantity, NULL)) AS ''',
cropname,''''
)
) INTO @sql
FROM
tempcrop;
SET @sql = CONCAT('SELECT date, SUM(quantity),', @sql, ' FROM tempcrop Group By date');
PREPARE stmt FROM @sql;
EXECUTE stmt;
现在我需要转换此查询,以便我不必创建单独的表,并且可以使用主表直接创建数据透视表。
我从中查询'Tempcrop'表的数据
Select str_to_date(timestamp, '%Y-%m-%d') Timestamp, value as Cropname, Count(*) Quantity from logs where key='crop_selected'
GROUP BY STR_TO_DATE(Timestamp,'%Y-%m-%d'), Value
ORDER BY STR_TO_DATE(Timestamp,'%Y-%m-%d'), COUNT(*) DESC;
如何在不使用Tempcrop表的情况下直接从此查询创建数据透视表。