gpt4 book ai didi

mysql - 使用多个 SELECT 创建一个新表

转载 作者:搜寻专家 更新时间:2023-10-30 23:37:06 26 4
gpt4 key购买 nike

请看下图:

enter image description here

鉴于 original 表,我需要在服务器上的 MySQL 中创建 derived 表。

使用 CREATE TABLE ... AS SELECT DISTINCT... 我能够使用 Category 列创建 derived 表,但是尝试创建 Category_count 列是徒劳的。你能指出如何解决这个问题吗?

甚至对 MySQL 或 SQL 都不是很熟悉,因此请求。

非常感谢!

最佳答案

如果表不存在,请使用以下内容:

CREATE TABLE derived AS
SELECT Category, COUNT(*) AS Category_count
FROM original
GROUP BY Category

如果表已经存在并且不创建重复行,则使用以下命令:

INSERT INTO derived (Category, Category_count)
SELECT Category, COUNT(*) AS Category_count
FROM original o
WHERE NOT EXISTS (SELECT * FROM derived d WHERE d.Category = o.Category)
GROUP BY Category

使用以下命令更新已存在的行:

UPDATE derived LEFT JOIN (
SELECT Category, COUNT(*) AS Category_count
FROM original
GROUP BY Category
)x ON derived.Category = x.Category
SET derived.Category_count = x.Category_count

关于mysql - 使用多个 SELECT 创建一个新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40745111/

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