gpt4 book ai didi

MYSQL将查询结果保存到另一个表中

转载 作者:行者123 更新时间:2023-11-29 08:26:04 25 4
gpt4 key购买 nike

我希望存储查询结果,该查询返回特定列中所有唯一值的列表,以及它们重复的次数:

SELECT col_name, COUNT(*) AS 'total' FROM dataTable GROUP BY col_name;

这会返回类似的内容:

col_name

  • 记录A
  • 记录B
  • 记录C
  • 记录D
  • 记录E...

总计

  • 39
  • 91817
  • 982027
  • 211872
  • 256...

它工作得很好,正是我所需要的。但我需要将结果存储到另一个表中(例如 countTable),这样我就不必每次都进行查询,可以对其进行索引...等等。

假设 countTable 的结构与此处的结果完全相同。两列:与原始结果类型相同的 namecount

这可能会引起一些笑声,但目前我觉得这已经很接近了:

INSERT INTO countTable (name, count) SELECT col_name, total FROM 
(SELECT col_name, COUNT(*) AS 'total' FROM dataTable GROUP BY col_name);

但我收到错误:错误 1248 (42000):每个派生表必须有自己的别名

我不知道如何正确包装这个查询,或者我是否应该在某个地方使用另一个 AS

非常感谢任何帮助!谢谢

最佳答案

您可以在 INSERT 语句之后立即执行 SELECT。只要您选择的内容与您要插入的值(在本例中为名称和计数)相匹配。您可以通过运行 select 语句本身来测试将插入到 countTable 中的内容。

INSERT INTO countTable (name, count)
SELECT col_name, COUNT(*) AS 'total'
FROM dataTable
GROUP BY col_name;

关于MYSQL将查询结果保存到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17883252/

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