mysql - 如何从多个具有公共(public)值的 mysql 行生成数组

标签 mysql sql database

我有一个具有以下结构的 mysql 数据库。

id|form_id|element_label|element_value|group_id|date|ip

这是从 joomla 中的表单插件生成的,所以我无法控制它的结构。

表单 id 是与值相关的表单,element_label 是与其相关的输入,element_value 是用户输入的值,group_id 是新条目的 id。

group_id 是与用户输入相关的所有行中的通用值。

当用户填写一个简单的联系表单时,它会像这样填充到数据库中:

1|15|1|Some Persons Name|12|12-11-2014|10.0.0.3
2|15|2|someP@example.com|12|12-11-2014|10.0.0.3
3|15|3|The users message|12|12-11-2014|10.0.0.3

需要注意的是,form_id 在所有行之间都是通用的,而 group_id 仅分配给单个用户表单提交。

我现在想从 MySQL 中提取这些数据,并将其放入使用标准 PHP 的标准 HTML 表中。

我想要的是看起来像。

group_id|Some Persons Name|someP@example.com|The users message|date

我尝试在查询中使用 GROUP BY,但没有成功。

请有人建议我如何解决此问题。

提前致谢。

data source sample

最佳答案

试试这个

SELECT `group_id`, group_concat(`element_value`) as value, date FROM `table_name` group by `form_id`

关于mysql - 如何从多个具有公共(public)值的 mysql 行生成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205038/

相关文章:

mysql - 更新使用单个查询连接的两个表

mysql - 借助 sql 更新具有不同 refno 的 new_status 列

mysql - 数据库和表的内存大小

php - 谷歌图和 PHP

sql - PostgreSQL:查询 JSON 数组中的元素

java - 当我在下一行抛出异常时@Transactional 不起作用

mysql - 使用时区 MySQL 解析日期

mysql - 我可以跨 3 个共享多个主键的表进行 mysql 查询吗?

mysql - 有人可以帮我按别名分组和处理空值吗?

sql - 将 sql 整数舍入到最接近的小时