gpt4 book ai didi

mysql - 如何从数据库中选择来组织像这个报告这样的数据

转载 作者:行者123 更新时间:2023-11-29 00:42:55 26 4
gpt4 key购买 nike

我有一个表,其中每条记录是:ID、groupID 和一个注释字段。ID不是唯一的,它可以关联多个groupID。每个 ID-groupID 组合可以与多个笔记相关联。 我在这里尝试打印的主要数据是注释字段。

id             | groupID    | notes
------------------------------------------------------------------
JWOFJ903JCKDF8 | groupID-22 | new id, new id-groupID combo
JWOFJ903JCKDF8 | groupID-33 | repeat id (line 1), new id-groupID combo
JWOFJ903JCKDF8 | groupID-33 | repeat id (lines 1&2), repeat id-groupID (line 2)
...
DF8#CKJ90JJ3WO | groupID-22 | new id, new id-groupID combo
DF8#CKJ90JJ3WO | groupID-44 | repeat id (line 4), new id-groupID combo
...

打印数据时,如何选择注释,以便将属于同一 ID-groupID 组合的所有注释组合在一起?并且属于同一 ID 的所有组 ID 都分组在一起?

所以我的报告看起来像这样:

JWOFJ903JCKDF8
-groupID-22
- [line 1 of the data] new id, new id-groupID combo
-groupID-33
- [line 2 of the data] repeat id (line 1), new id-groupID combo
- [line 3 of the data] repeat id (lines 1&2), repeat id-groupID (line 2)
DF8#CKJ90JJ3WO
-groupID-22
- [line 4 of the data] new id, new id-groupID combo
-groupID-44
- [line 5 of the data] repeat id (line 4), new id-groupID combo

我应该指出这个表非常大 - 超过 200,000 条记录并且还在增长。

最佳答案

其实很简单:

1/选择需要的记录(按id和groupId排序)

SELECT id,groupID,notes
FROM <your table name>
WHERE ...
ORDER BY id, groupID
LIMIT ...

2/使用 WHERE 限制结果以检索简单 id 和/或 LIMIT 的结果(我怀疑您想在单个报告中显示这 200k 条记录)。阅读 SELECT 命令的 Mysql 文档

3/在您的前端,使用一个变量来计算结果并在每次更改 id 或 groupID 时缩进

如果我可以建议,你的数据库模型应该这样改变:

  • column id 应该是唯一的,就像一个自增键
  • 一个新列(我们称之为键)应该存储当前的 id
  • 如果列 groupId 引用现有的表组,则以相同的方式更改此表:
    • 一个唯一的自动增量 id 列,一个名字,
    • 并且在您的记录表中​​,仅存储组表 ID 作为列名建议

关于mysql - 如何从数据库中选择来组织像这个报告这样的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479441/

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