gpt4 book ai didi

mysql - 根据另一列获取值作为单独的列

转载 作者:行者123 更新时间:2023-11-29 00:09:38 25 4
gpt4 key购买 nike

我的数据如下:

col1    col2    attr    val
ABC 123 A 10
ABC 123 B 18
XYZ 123 A 5
XYZ 123 B 11
ABC 888 A 24
ABC 888 B 13
XYZ 888 A 25
.
.
.

基本上col1,col2的各种组合都存在;并且对应于与它们关联的每个 attr,它们都有一个单独的 val 记录。

我需要以下形式的输出:

col1    col2   A_val    B_val
ABC 123 10 18
XYZ 123 5 11

(对于 col1 col2 的每个唯一组合)

这种查询对我来说是新领域,所以我不确定从哪里开始。它可能涉及类似 CASE WHEN attr='A' THEN val END as A_val 的内容,但我不确定如何构建它。

最佳答案

你可以这样做:

  SELECT col1, 
col2,
MAX(CASE WHEN attr='A' THEN val END) A_val,
MAX(CASE WHEN attr='B' THEN val END) B_val
FROM table_name
GROUP BY col1,
col2

由于 NULL 在降序中排在最后,CASE 没有条件匹配时返回 NULLMAX 将为您提供每一列的正确属性。

关于mysql - 根据另一列获取值作为单独的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25786353/

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