gpt4 book ai didi

mysql - 从表列表中选择相同的列

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:16 25 4
gpt4 key购买 nike

我希望对表列表运行此查询。

SELECT Description,Code,count(*) as count
FROM table1
group by Description,code
having count(*) > 1

我将不得不在 30 多个不同的表上运行此查询,我想知道是否可以更改 from 语句并仅列出表名。

此外,是否有一些功能可以将它来自的表的名称添加到单独的列中以区分结果的来源?

提前致谢

最佳答案

您可以使用 UNION ALL 将它们放在一起。除非您需要一些动态表选择。

SELECT Description,Code,count(*) as count, 'table1' as tableNane
FROM table1
group by Description,code
having count(*) > 1

UNION ALL

SELECT Description,Code,count(*) as count, 'table2' as tableNane
FROM table2
group by Description,code
having count(*) > 1
...

实际上我喜欢@Shubhradeep Majumdar 版本。它将生成更简洁的代码。

SELECT Description,Code, Count(Code), tableName FROM (
SELECT Description,Code, 'table1' as tableName
FROM table1
UNION ALL
SELECT Description,Code, 'table2' as tableName
FROM table2
) tables
GROUP BY tableName, Description, Code
HAVING COUNT(Code) > 1

但它可能有一点问题。它是更优雅的代码,但实际上可能比第一个版本慢。问题是 tableName 在分组之前附加在每条记录上,而在我的第一个版本中,你是在已经处理过的数据上这样做的。

关于mysql - 从表列表中选择相同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45066047/

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