gpt4 book ai didi

mysql - 如何使用 group by 而不丢失非空详细信息

转载 作者:行者123 更新时间:2023-11-29 19:06:31 32 4
gpt4 key购买 nike

SELECT item_id,
(CASE WHEN cat_level="1" THEN cat_name ELSE "" END) AS category,
(CASE WHEN cat_level="2" THEN cat_name ELSE "" END) AS sub_cat,
FROM item

结果:

|  item id  |   category    |    sub_cat   |
| 01 |transportation | |
| 01 | | car |

当我添加group by item_id时,结果变为:

|  item id  |   category    |    sub_cat   |
| 01 |transportation | |

但是如何显示以下内容呢?

|  item id  |   category    |    sub_cat   |
| 01 |transportation | car |

最佳答案

使用聚合函数,例如 Max(并从 CASE 中删除 ELSE ""):

SELECT   item_id,
Max(CASE WHEN cat_level="1" THEN cat_name END) AS category,
Max(CASE WHEN cat_level="2" THEN cat_name END) AS sub_cat,
FROM item
GROUP BY item_id

关于mysql - 如何使用 group by 而不丢失非空详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43449258/

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