gpt4 book ai didi

mysql:将一张表中的字段分别分组

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

我需要从 MySQL 中获取以下类型数据的平均值:

有一张表:

表1

field_a, field_b, field_cdata_a , data_a , data_cdata_a , data_b , data_cdata_a , data_a , data_c

我需要输出的是(这部分不需要在mysql中,只是解释我需要的数据):

field_a 的 100% 是 data_a

field_b 的 33% 为 data_b,66% 为 data_a

field_c 的 100% 是 data_c

我尝试按每个字段进行分组,但没有给出所需的结果。解决这个问题的最佳方法是什么? (目前我刚刚将其设置为对每个字段运行单独的查询,但有很多字段,所以我希望它们在一个大查询中/更高效一些)。

另外,对标题表示歉意。我真的想不出更好的方法来解释它。请随意编辑更简洁的内容。

最佳答案

我只能想到UNION用途:

(SELECT field_a AS val, COUNT(field_a) AS cnt, 'A' AS fld_name 
FROM table1 GROUP BY field_a)
UNION
(SELECT field_b AS val, COUNT(field_b) AS cnt, 'B' AS fld_name
FROM table1 GROUP BY field_b)
UNION
(SELECT field_c AS val, COUNT(field_c) AS cnt, 'C' AS fld_name
FROM table1 GROUP BY field_c)

它将为我们提供每行中包含的记录集:

  • 字段值,
  • 表中此类值的数量,
  • 字段名称。

关于mysql:将一张表中的字段分别分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12528436/

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