将执行语句的结果放入 table in MySQL
put results of execute statement into table in MySQL
在MySQL pivot efficiency
我想知道如何在 MySQL 中调整 table 的股票价格。共识似乎是这不是一件好事。我最初希望每一列是一个 ID 号,每一行是一个日期。通过将每一列设为日期,每行设为 ID 号,我获得了更快的速度:
SET @@group_concat_max_len = 1000000;
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(ddate = ',
'ddate',
',closing_price, NULL)) AS ''',
DATE_FORMAT(ddate,'%Y%m%d'),''''
)
) INTO @sql
FROM rawdatatable;
SET @sql = CONCAT('SELECT idnum , ', @sql, ' FROM rawdatatable GROUP BY idnum');
SELECT @sql;
PREPARE stmt FROM @sql;
EXECUTE stmt;
有什么方法可以将 EXECUTE
语句的结果放入 table 中,其中每个列名都是不同的 ddate
?
更改此行
SET @sql = CONCAT('SELECT idnum , ', @sql, ' FROM rawdatatable GROUP BY idnum');
至
SET @sql = CONCAT('CREATE TABLE blah AS SELECT idnum , ', @sql, ' FROM rawdatatable GROUP BY idnum');
尝试像@Desolator 所说的那样将结果放入临时 table。 MySQL console
中的类似内容
mysql>CREATE TABLE temp_result AS
SELECT * FROM rawdatatable
WHERE ...;
在MySQL pivot efficiency
我想知道如何在 MySQL 中调整 table 的股票价格。共识似乎是这不是一件好事。我最初希望每一列是一个 ID 号,每一行是一个日期。通过将每一列设为日期,每行设为 ID 号,我获得了更快的速度:
SET @@group_concat_max_len = 1000000;
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(ddate = ',
'ddate',
',closing_price, NULL)) AS ''',
DATE_FORMAT(ddate,'%Y%m%d'),''''
)
) INTO @sql
FROM rawdatatable;
SET @sql = CONCAT('SELECT idnum , ', @sql, ' FROM rawdatatable GROUP BY idnum');
SELECT @sql;
PREPARE stmt FROM @sql;
EXECUTE stmt;
有什么方法可以将 EXECUTE
语句的结果放入 table 中,其中每个列名都是不同的 ddate
?
更改此行
SET @sql = CONCAT('SELECT idnum , ', @sql, ' FROM rawdatatable GROUP BY idnum');
至
SET @sql = CONCAT('CREATE TABLE blah AS SELECT idnum , ', @sql, ' FROM rawdatatable GROUP BY idnum');
尝试像@Desolator 所说的那样将结果放入临时 table。 MySQL console
中的类似内容mysql>CREATE TABLE temp_result AS
SELECT * FROM rawdatatable
WHERE ...;