gpt4 book ai didi

mysql - 从表中获取、切换行和列并按另一个列值进行过滤

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

想必这个问题已经在其他地方得到了回答,但我到目前为止还没有完成我想做的事情(这里是真正的初学者)。

我想做的是从名为“wp_iphorm_form_entry_data”的表中检索数据,该表看起来像这样:

%/ element_id / value      /%
-----------------------------
%/ 4 / first name /%
%/ 5 / last name /%
%/ 42 / e-mail /%

然后切换行和列并重命名它们,如下所示:

%/ 4 (f-name)  / 5 (l-name) / 42 (e-mail) /%
--------------------------------------------
first name / last name / e-mail /%

最后通过另一个“element_id”过滤条目。预先感谢您,有人接受吗?

最佳答案

这是在pivot函数存在之前完成的方式

SELECT userGroupingID
MAX(case when element_Id=4 then value else null end) as `First Name`,
MAX(case when element_Id=5 then value else null end) as `Last Name`,
MAX(case when element_Id=42 then value else null end) as `e-mail`
FROM wp_iphorm_form_entry_data
GROUP BY userGroupingID

UserGroupingID 是一些值,表示分组元素,例如元素集的 userID 或 groupID。如果没有这个,我看不出你如何能够完成你对超过 1 行数据的请求。当然,使用 mysql 对 group by 语句的扩展...如果您不关心每个元素 ID 返回哪些值,则根本不需要 userGroupingID 或 group by ..

Pivot 可以更简单地做到这一点:示例 MySQL pivot table

但是你也会遇到同样的问题。什么表示元素如何分组?

关于mysql - 从表中获取、切换行和列并按另一个列值进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27115530/

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