![](/img/trans.png)
[英]how to store the value in a variable retrieved from mysql table and to use it in another query using php
[英]store mysql query in another table using php
這是我的MySQL表feedback
。
我想計算每列的平均值,並使用PHP文件將結果存儲到表average
,如下結構所示。
我正在使用查詢SELECT AVG (waiting) FROM feedback
來計算等待列的平均值。 但是我不知道如何將查詢結果作為上述結構放置到另一個表中。
當使用查詢INSERT INTO average (average) SELECT AVG (waiting) FROM feedback
**它僅更新平均列。
請幫我提供示例代碼。
謝謝
如果正確理解您可以這樣做
INSERT INTO average (data, average)
SELECT 'waiting', AVG (waiting) FROM feedback UNION ALL
SELECT 'consultation', AVG (consultation) FROM feedback UNION ALL
SELECT 'preoperative', AVG (preoperative) FROM feedback
樣本輸出:
| DATA | AVERAGE | -------------------------- | waiting | 3 | | consultation | 2 | | preoperative | 3 |
這是SQLFiddle演示
現在,如果feedback
表中沒有太多數據,則可以放棄average
表並以相同方式創建視圖。 因此,當您從中進行選擇時,它們會即時計算,而不是維護平均值表
CREATE VIEW average AS
SELECT 'waiting', ROUND(AVG (waiting)) average FROM feedback UNION ALL
SELECT 'consultation', ROUND(AVG (consultation)) FROM feedback UNION ALL
SELECT 'preoperative', ROUND(AVG (preoperative)) FROM feedback
並使用它
SELECT * FROM average
這是SQLFiddle演示
您可以從每列的平均值中獲取結果,然后將其插入到單獨的數據庫中。
現在,您正在執行的操作將其插入到同一數據庫的同一列中,而不是其他數據庫中,這就是為什么它只是更新該列而不是另一列。
INSERT查詢的示例:
$query = "INSERT INTO tableName (columnName) VALUES ($averageOfColumn)";
將“ tableName”替換為您要連接的新表的名稱。
將“ columnName”替換為您正在使用的其他數據庫中的列名。
將“ $ averageOfColumn”替換為變量,以獲取等待列的平均值。
這有幫助嗎?
要獲得這三列的平均值:
SELECT AVG(waiting),AVG(consultation),AVG(preoperative) FROM feedback;
如果列名相同,則要插入到平均值表中:
INSERT INTO average(waiting,consultation,preoperative)
SELECT AVG(waiting),AVG(consultation),AVG(preoperative) FROM feedback
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.