gpt4 book ai didi

php - 如何从 MySQL 数据库中的多个元组中添加值并使用 php 代码获取它们?

转载 作者:行者123 更新时间:2023-11-29 06:02:13 28 4
gpt4 key购买 nike

我有两个数据库表

     1. graduate_survey
G_id(pk),PO1,PO2

2. Alumni_survey
A_id(pk),PO1,PO2

假设我在两个表中都插入了值。现在我必须将来自 graduate_survey 的 PO1、PO2 的值与 Alumni_survey 的 PO1、PO2 相加。如何在 MySQL 查询的帮助下添加它们?以及如何借助 php 将新值存储在另一个表中?

最佳答案

SELECT SUM(t.P01) AS total_P01, SUM(t.P02) AS total_P02
FROM (SELECT P01, P02 FROM graduate_survey
UNION ALL
SELECT P01, P02 FROM Alumni_survey) t

这行得通。基于:How can I sum columns across multiple tables in MySQL?我没有将它标记为重复,因为资源是一个值,这里有两个。

从 2 个具有 18k+57k 条目的真实表中添加类型为 DECIMAL(10,6) 的结果,查询大约需要 0.15 秒才能完成。

第 2 部分:插入

假设您的新表在 T_id (pk) 上有 AUTO INCREMENT,并且您已经使用 mysql_fetch_assoc() 将之前的结果提取到 $row 中:

$query_string = "INSERT INTO Total_survey 
SET P01 = '".floatval($row['total_P01'])."',
P02 = '".floatval($row['total_P02'])."' ";
  • 或 intval(),如果您的结果是整数。

编辑:对于 3 个表:

SELECT SUM(t.P01) AS total_P01, SUM(t.P02) AS total_P02
FROM (SELECT P01, P02 FROM graduate_survey
UNION ALL
SELECT P01, P02 FROM Alumni_survey
UNION ALL
SELECT P01, P02 FROM faculty_survey) t

但我认为这不是一个好主意。您拥有包含相似数据的相同结构的表。更好的方法是在一张表中再增加 1 列,并为每条记录写下毕业生、校友或教职工的记录。为这项工作保留 3 个单独的表只会使您的数据库结构难以理解和使用。你可以制作这两个表:

Survey: id(pk), group_id(int), PO1, PO2

和描述表:

Groups: group_id(pk), group_name(varchar)

这样您就可以拥有无​​限数量的调查组,您可以从您的程序中动态扩展他们的数量并更轻松地处理他们的数据。

关于php - 如何从 MySQL 数据库中的多个元组中添加值并使用 php 代码获取它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44091268/

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