当前位置: 首页 > 面试题库 >

MySQL选择列名称和值作为字段

白晋鹏
2023-03-14
问题内容

我有一个看起来像这样的mysql表:

id | PO | DAP   | MEDIA
---|----|-------|------
1  | 2  | 34    | 64
2  | 6  | 53    | 23

我希望能够查询得到多行,每一列一个。例如:

SELECT column_name as column, column_value as value FROM my_table;

这会给我:

PO=2,DAP=34,MEDIA=54,PO=6,DAP=53,MEDIA=23

我需要用什么来制定这样的查询?


问题答案:

您必须首先CONCAT将每个指定字段的数据应用于GROUP_CONCAT结果。

询问

SELECT GROUP_CONCAT(temp_col) FROM
(
    SELECT 1 as 'temp_id',
    CONCAT(
      CONCAT('PO=', PO),
      ',',
      CONCAT('DAP=', DAP),
      ',',
      CONCAT('MEDIA=', MEDIA)
    ) AS 'temp_col'
    FROM test
) temp
GROUP BY temp_id


SQLFIDDLE



 类似资料:
  • 问题内容: 我有一个带有列名称的数据表: 其中“列”包含数字值,“期间”列是具有1到48的标识列,因此有48行。 我想将此表按摩成一种格式,在该格式中,我具有“名称”列和“值”列以及“期间”列。 我想创建原始表的视图来执行此操作吗?如何选择列名称,并将其以及该列中的正确值放入NameOfVehicle和Value列中? 问题答案: 如果您有固定的列,则始终可以执行以下操作: 如果列是动态的或未知的

  • 问题内容: 我有一个旧的用户信息表(仍在使用中),并且不能更改- 时区/语言/国家等只是名称的示例,它们可以是可变的/除了该列的行上的唯一列表外,没有其他任何有限列表 我需要一个MySQL兼容的SQL查询,该查询将返回- 我已经研究了关于将数据透视表功能窃取到MySQL的关于stackoverflow的各种答案,类似的方法,但是似乎没有一个比从相同表的列的唯一行值使用变量列名别名的情况更好。尽管我

  • 问题内容: 这是我的基本表(显示为关联数组): 在另一个名为的表上,我可以添加多个属于一行的自定义数据。像这样: 我目前正在制作,但它只会增加,并给我行。我想要的是我的查询返回如下内容: 行值变成一列,而,它就是值。 我该怎么做? 问题答案: SELECT a.ID, a.Campaign_ID, a.FirstName, a.LastName, MAX(CASE WHEN b.data = ‘q

  • 本文向大家介绍MySQL 按列名选择,包括了MySQL 按列名选择的使用技巧和注意事项,需要的朋友参考一下 示例 询问 结果            

  • 问题内容: 我有一个带有下表的WordPress数据库 帖子 后元 并有记录与值和 如何编写SQL以显示列名和结果列名? 下面的查询是我的起点 问题答案: 这听起来像你想的和值。不幸的是,MySQL没有函数,但是您可以使用带有以下语句的聚合函数来复制它: 参见带有演示的SQL Fiddle

  • 我正试图创建一个Spark df,它包含顶级字段和嵌套字段,这些字段来自包含与json对象的键和值相对应的键和值的字典列表,我在选择嵌套列时遇到了问题。 以下是我目前掌握的情况: 输入是包含JSON值的字典列表: 期望输出: *请注意,我不需要重命名列,但必须缩短它们以适应一行 这是我到目前为止的代码: 我只能选择uid,这是顶级字段,所以我猜我在选择嵌套值时出错了。 请帮忙。