gpt4 book ai didi

php - 选择一些行并以不同方式显示

转载 作者:行者123 更新时间:2023-11-29 23:46:07 24 4
gpt4 key购买 nike

我有一个这样的表:

ID Student_ID Name      Surname    Grade     Address
----------------------------------------------------
1 111 John Doe A address1
2 112 Michael Jackson B address2
3 155 John Petrucci A address3
...
...

我想做的是,以某种方式获取这个输出:

John Doe Michael Jackson John Petrucci ...
A B A ...

但我有 495 名学生。一行用于 ID,3 行用于created_at、updated_at 和deleted_at,总共 495 + 1 + 3 = 499 列。

我猜我无法制作这样的表格。我必须做什么?获取所有行(我有超过 500 万行数据)并将它们放入 PHP 的表中?

我只是想以不同的方式显示数据。我不想存储它们,而是编辑它们。我只是想以不同的方式展示他们。我怎样才能实现这个目标?

非常感谢。

编辑:

我有这张表:

+---------+----------+-------+----------+-------+-------+---------------------+
| id | query_id | name | time | value | pct | query_time |
+---------+----------+-------+----------+-------+-------+---------------------+
| 5051657 | 9983 | AAA | 14:31:28 | 1,12 | 0,00 | 2014-09-19 14:59:32 |
| 5051656 | 9983 | BBB | 14:35:03 | 6,77 | 0,30 | 2014-09-19 14:59:32 |
| 5051655 | 9983 | CCC | 14:33:58 | 5,04 | -0,59 | 2014-09-19 14:59:32 |
| 5051654 | 9983 | DDD | 14:32:30 | 0,55 | 0,00 | 2014-09-19 14:59:32 |
| 5051653 | 9983 | EEE | 14:25:59 | 2,01 | 0,00 | 2014-09-19 14:59:32 |
| 5051652 | 9983 | FFF | 14:30:05 | 2,00 | 0,00 | 2014-09-19 14:59:32 |
| 5051651 | 9983 | GGG | 14:35:00 | 12,20 | 0,41 | 2014-09-19 14:59:32 |
| 5051650 | 9983 | HHH | 14:26:26 | 4,06 | 1,00 | 2014-09-19 14:59:32 |
| 5051649 | 9983 | III | 14:35:06 | 18,80 | 2,17 | 2014-09-19 14:59:32 |
| 5051648 | 9983 | JJJ | 14:34:04 | 3,11 | 1,63 | 2014-09-19 14:59:32 |
+---------+----------+-------+----------+-------+-------+---------------------+

我想要的是这样的:

+----------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| query_id | AAA | BBB | CCC | DDD | EEE | FFF | GGG | HHH | III | JJJ |
+----------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 1 | 1,12| 6,77|-0,59|0,00 |0,00 |0,00 | 0,41|1,00 |2,17 | 1,63|
| 2 | 1,13| 6,33|-0,33|0,33 |0,11 |0,45 | 0,56|1,34 |2,45 | 1,19|
+----------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

如果可能的话,我只想要一个 CSV 文件。我的行数已超过 500 万行,而且还在不断增长。我想我可能每天都必须这样做。我有什么选择,我该怎么做?

非常感谢。

最佳答案

好吧,我相信这就是你所需要的。经过一点研究,这里是 SQL Fiddle http://sqlfiddle.com/#!2/56f62/23

SET @query = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT('MAX(IF(name = ''', name, ''', value, 0)) AS ', name)
)INTO @query
FROM tbl_name;

SET @query = CONCAT('SELECT ', @query, ' FROM tbl_name');

PREPARE statement FROM @query;
EXECUTE statement;
DEALLOCATE PREPARE statement;

关于php - 选择一些行并以不同方式显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25934562/

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