代码之家  ›  专栏  ›  技术社区  ›  Gary Stanton

合并3NF mysql表中多行的内容

  •  1
  • Gary Stanton  · 技术社区  · 16 年前

    在尽职尽责地规范化了所有数据之后,我在将3NF行合并为一行进行输出时遇到了问题。 到目前为止,我一直在使用服务器端编码,但由于各种原因,我现在需要选择与另一行相关的所有行,并将它们合并到一行中,全部在MySQL中。。。

    因此,请尝试解释:

    • 文章
    • 类别3NF

    类别包含 类别 +标题、说明等。它可以包含文章表中任意数量的文章,包括 +用于容纳内容的文本字段。 这个 表用于链接这两者,因此包含这两个 类别 文章ID .

    问题是,我想为每个类别输出一行,其中包含 全部的 内的文章。

    如果这听起来像是一个荒谬的要求,那是因为它是。我只是用文章来描述这个问题。我的数据实际上有些不同。

    无论如何,我能看到实现这一点的唯一方法是使用 '语句将内容字段分组在一起-问题是它返回的数据量是有限的,我需要它能够处理更多的数据。

    谢谢

    1 回复  |  直到 15 年前
        1
  •  2
  •   Tom H zenazn    16 年前

    如果需要,可以通过设置系统变量来增加组_CONCAT的大小限制 组\u concat\u max\u len . 它有一个基于 允许的最大数据包数

    编辑:所以这是在答案中,而不仅仅是隐藏在评论中。。。

    如果你不想改变 在全球范围内,您可以通过以下方式更改您的会话:

    SET SESSION group_concat_max_len = <your value here>