gpt4 book ai didi

mysql - 如何使用 SQL 查询连接数据库中具有相似名称的一组表?

转载 作者:可可西里 更新时间:2023-11-01 08:31:19 25 4
gpt4 key购买 nike

例如,我有一个名为 db 的数据库,其中有 100 个表,分别名为 ta_1 ... ta_100。每个表都有两列 id(int)val(int)

  1. 如果我想得到 val 的总体均值,我应该怎么做?
  2. 如果我想得到一个包含两列的表:tablename(String) 和 mean(float),我应该怎么做?

最佳答案

不用说,您不应该以这种方式设置数据库。有许多解决方案,从简单但平凡的到困难但有用的。

有时,您必须创建一个表列表,并准备一个将它们合并在一起的语句。使用数据库 View 复制和粘贴将是一个好的开始:

create view GlobalView (
tabname varchar(10),
id int,
val int)
as
select 'ta_1', id, val from ta_1
UNION ALL
select 'ta_2', id, val from ta_2
UNION ALL
select 'ta_3', id, val from ta_3
UNION ALL
.....
UNION ALL
select 'ta_100', id, val from ta_100

然后,您可以简单地运行选择:

select avg(1.0 * val) as mean
from GlobalView

另一种方法是创建一个动态查询,您可以从外部程序或使用“动态 SQL”调用该查询

关于mysql - 如何使用 SQL 查询连接数据库中具有相似名称的一组表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149666/

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