gpt4 book ai didi

mysql - SQL 按 2 列分组

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

我想用 2 GROUP_BY 在多行中显示一次

我的 table 是这样的

    +----+----------+-------+
| ID | BRAND | TYPE |
+----+----------+-------+
| 1 | A | Clothes |
| 2 | A | Hat |
| 3 | A | Hat |
| 4 | A | Hat |
| 5 | B | Jeans |
| 6 | B | Jeans |
| 7 | B | Hat |
| 8 | C | Clothes |
| 9 | C | Jeans |
| 10 | C | Jeans |
| 11 | C | Hat |
+----+-------+-----------+

我的查询是这样的

SELECT brand, 
type,
COUNT(*) AS total
FROM store
GROUP BY brand, type

当我运行该查询时,结果是

        -----------------------------
| BRAND | TYPE | TOTAL |
-----------------------------
| A | Clothes | 1 |
| A | Hat | 3 |
| B | Jeans | 2 |
| B | Hat | 1 |
| C | Clothes | 1 |
| C | Jeans | 2 |
| C | Hat | 1 |
------------------------------

这不是我期望的结果。我只想显示一次 Brand 并且如果有多个相同的值,则以下 Type 也显示一次。

更新:期待结果

        -------------------------------------------
| BRAND | TYPE | TOTAL |
-------------------------------------------
| A | Clothes, Hat | 4 |
| B | Jeans, Hat | 3 |
| C | Clothes, Jeans, Hat | 4 |
-------------------------------------------

最佳答案

  • 使用Group_Concat使用 Distinct 子句的函数,您可以在 brand 组下以逗号分隔的字符串获取所有不同和独特类型。<
  • 使用Sum计算总数的函数

尝试以下操作:

SELECT brand, 
GROUP_CONCAT(DISTINCT type) As type,
SUM(total) AS total
FROM store
GROUP BY brand

关于mysql - SQL 按 2 列分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52605628/

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