按一个字段从表组中获取所有值

Posted

技术标签:

【中文标题】按一个字段从表组中获取所有值【英文标题】:Get all values from table group by one field 【发布时间】:2017-03-28 22:12:27 【问题描述】:

我有一个“产品”表,它包含如下值。

column-a     column-b     column-c      column-d   ....
   1023         57         value1        value2    ....
   1024         58         value3        value4    ....
   1025         58         value5        value6    ....
   1026         57         value7        value8    ....
   1027         59         value9        value10   ....
   1028         60         value11       value12   ....  
   1029         59         value13       value14   ....    

从这个表中,我想按列-b 显示下面的结果。

数组 (

 [0] => stdClass Object
    (
      [column-a] => 1023
      [column-b] => 57
      [column-c] => value1
      [column-d] => value2
      .
      .
      .
    )
    [1] => stdClass Object
    (
      [column-a] => 1024
      [column-b] => 58 
      [column-c] => value3
      [column-d] => value4
      .
      .
      .
    )
    [2] => stdClass Object
    (
      [column-a] => 1027
      [column-b] => 59
      [column-c] => value9
      [column-d] => value10
      .
      .
      .
    )

    [3] => stdClass Object
    (
      [column-a] => 1028
      [column-b] => 60
      [column-c] => value11
      [column-d] => value12
      .
      .
      .
    )

    [4] => stdClass Object
    (
      [column-a] => 1026
      [column-b] => 57
      [column-c] => value7
      [column-d] => value8
      .
      .
      .
    )
    [5] => stdClass Object
    (
      [column-a] => 1025
      [column-b] => 58
      [column-c] => value5
      [column-d] => value6
      .
      .
      .
    )
    [6] => stdClass Object
    (
      [column-a] => 1029
      [column-b] => 59
      [column-c] => value13
      [column-d] => value14
      .
      .
      .
    )

)

如何按列-b 从表组中选择所有表值。

我已经尝试过如下所示,但它的值只显示了一次 column-b

SELECT * FROM products GROUP BY column-b;

有人帮助检索所有相同的数据。提前致谢!

【问题讨论】:

【参考方案1】:

您可以按如下方式使用查询:

SELECT column-a,column-b,GROUP_CONCAT(column-c SEPARATOR ' , '),GROUP_CONCAT(column-d SEPARATOR ' , ') FROM products GROUP BY column-b

它将返回具有不同 column-b 值的记录数组,其中 column-c 和 column-d 具有多个值

【讨论】:

以上是关于按一个字段从表组中获取所有值的主要内容,如果未能解决你的问题,请参考以下文章

查询以显示不同的组合,然后显示每个不同组合的计数

按DAY,MONTH,YEAR分组时sql缺少行

帮我解释下:所有select的字段,除聚合函数中的字段,都必须在group by中出现。只要满足这个规则就可以

BIRT:表组中的交替行颜色

按最新日期获取分组后的列

adbmrio数据库怎么计