【问题标题】:MySQL Group_Concat two tables togetherMySQL Group_Concat 两张表一起
【发布时间】:2016-05-12 01:28:39
【问题描述】:

我正在尝试按我在 x 天内记录的所有价格对表格中的数据进行分组。我的 SQL 语句有问题,这是我当前的语句

SELECT *, GROUP_CONCAT(Price) AS Prices FROM product_prices GROUP BY Product,Day

这是我的 product_prices 表;

+---------+--------------+
| Product | Day | Price  |
+---------+--------------+
|    Phone| 1   |  100   |
|  Speaker| 1   |  50    |
|   Phone | 2   |  230   |
|  Speaker| 2   |  80    |
+---------+--------------+

我希望像这样按天将价格分组在一张表中

+---------+----------+
| Product | Prices   |
+---------+----------+
|    Phone| 100, 230 |
|  Speaker| 50, 80   | 
+---------+----------+

【问题讨论】:

  • 您还应该向我们展示您当前的查询(不远)给您的输出。

标签: mysql sql group-concat


【解决方案1】:

如果你想从最低到最高选择价格,你应该在你的 group_concat 语句中使用order by

SELECT Product, 
GROUP_CONCAT(Price ORDER BY Price) AS Prices 
FROM product_prices 
GROUP BY Product

SQLFiddle

【讨论】:

    【解决方案2】:

    您必须删除 GROUP BY 子句中的 Day。此外,将* 替换为Product

    SELECT
      Product, 
      GROUP_CONCAT(Price) AS Prices 
    FROM product_prices 
    GROUP BY Product
    

    ONLINE DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多