当前位置: 首页 > 面试题库 >

MySQL按一列分组,但选择所有数据

萧阳波
2023-03-14
问题内容

我有一个包含大量数据的数据库。我想选择所有数据,但是按一列分组。

因此,例如:

column a | column b
example  | apple
example  | pear
example  | orange
example  | strawberry

在示例列中,A是具有重复值且需要分组的列。但是B列具有不同的值,我想选择所有这些值。

最后,我想得到一个查询,导致:

example
- apple
- pear
- orange
- strawberry

B列的值在jQuery手风琴中。

我已经尝试并搜索了几个小时,但仍然没有找到一种方法来进行此操作。

编辑: 我已经设法使用戈登提供的答案解决问题。使用PHP,我分解了查询结果,并通过while循环,从数组中收集了所有数据。

现在,它的工作非常好,谢谢大家!


问题答案:

我认为您可以使用group_concat()以下方法得到想要的:

select a, group_concat(b)
from t
group by a;

这将为每个a创建一个“ b”列表。在您的示例中:

example    apple,pear,orange,strawberry

您可以使用SEPARATOR关键字更改分隔符。

编辑:

您可以使用group_concat()多次:

select a, group_concat(b) as bs, group_concat(c) as cs
from t
group by a;

或者,将其与concat()

select a, group_concat(concat(b, ':', 'c')) as bcs
from t
group by a;


 类似资料:
  • 本文向大家介绍MySQL 选择所有列(*),包括了MySQL 选择所有列(*)的使用技巧和注意事项,需要的朋友参考一下 示例 询问 结果 您可以通过执行以下操作从一个连接的一个表中选择所有列: 最佳实践*除非正在调试或获取row(s)关联数组,否则不要使用,否则架构更改(ADD / DROP /重新排列列)可能会导致讨厌的应用程序错误。另外,如果提供结果集中所需的列列表,MySQL的查询计划程序通

  • 本文向大家介绍MySQL 按列名选择,包括了MySQL 按列名选择的使用技巧和注意事项,需要的朋友参考一下 示例 询问 结果            

  • 问题内容: 如何使用JOIN从一个表中选择所有列,从另一个表中仅选择一些列?在MySQL中。 问题答案: 只需使用表名: 这将选择所有列和列和从。

  • 问题内容: 我正在尝试使用select语句从某个MySQL表中获取除一个以外的所有列。有没有简单的方法可以做到这一点? 编辑:此表中有53列(不是我的设计) 问题答案: 实际上有一种方法,您当然需要具有执行此操作的权限… 更换

  • 问题内容: 我正在读一本有关SQL的书(《山姆在10分钟内自学SQL》),尽管书名很不错。但是关于分组依据的一章使我感到困惑 “对数据进行分组是一个简单的过程。选定的列(查询中SELECT关键字后的列列表)是可以在GROUP BY子句中引用的列。如果在SELECT语句中找不到列,则不能考虑到这是合乎逻辑的,如果不显示数据,可以将数据分组到报表上吗?” 当我在MySQL中运行此语句时,为什么会起作用

  • 问题内容: 我想对字段进行分组,但想显示称为的列的所有行: 这是mysql查询: 问题答案: 使用 SQLFiddle演示 其他链接 MySQL GROUP_CONCAT