gpt4 book ai didi

mysql - 来自 MySQL 的数据透视表

转载 作者:行者123 更新时间:2023-11-29 15:13:00 25 4
gpt4 key购买 nike

我是 MySQL 新手,我想通过 mysql 表创建数据透视表,如下所示:

我的 table :

*------------*-------*----------------*-------*------------*
| Name | Place | Kind of work | Hours | Date |
*------------*-------*----------------*-------*------------*
| Test Test | abc | abc | 5 | 2020-01-20 |
| Test1 Test1| abc | abc | 6 | 2020-01-21 |
| Test2 Test2| abc | abc | 7 | 2020-01-21 |
| Test Test | abc | abc | 5 | 2020-01-23 |
| Test1 Test1| abc | abc | 6 | 2020-01-24 |
| Test2 Test2| abc | abc | 7 | 2020-01-25 |
*------------*-------*----------------*-------*------------*

我想通过 mysql select 获取它(如果可能的话)

*---------------------*------------*------------*------------*------------*------------*
| Name (group by name)| 2020-01-20 | 2020-01-21 | 2020-01-23 | 2020-01-24 | 2020-01-25 |
*---------------------*------------*------------*------------*------------*------------*
| Test Test | 5 | | 5 | | |
| Test1 Test1 | | 6 | | 6 | |
| Test2 Test2 | | 7 | | | 7 |
*---------------------*------------*------------*------------*------------*------------*

感谢您的帮助:)

最佳答案

我找到了解决方案,这是我的 native 表的代码:

SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(datapracy = "', datapracy, '" , liczbagodzin, NULL)) AS "', datapracy, '"'
)
) INTO @sql
FROM wp_wpdatatable_1_1 WHERE datapracy BETWEEN '2020-01-01' AND '2020-01-31';

SET @sql = CONCAT("SELECT imieinazwiskopracownika, ", @sql, " FROM wp_wpdatatable_1_1 GROUP BY imieinazwiskopracownika");

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

但现在我有疑问如何从这个 stmt mysql View 创建?

关于mysql - 来自 MySQL 的数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59927484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com