2014-10-30 101 views
0

對不起,如果我不清楚解釋這一點,但這裏去:如何在php中添加計算列到mysql查詢結果?

如果我從一個MySQL表格查詢例如。

$result = mysqli_query($con,"SELECT * FROM table_name"); 

我想保留查詢結構,同時向它添加一列,每次使用當前列中的數據計算出來。必須編輯查詢結果,而不將任何內容附加到原始sql表中。所以如果有一列有數字,我想在新列中的每個項目上加5。

因此,如果是這樣的查詢結果:

|Header1 | Header2 | 
+--------+---------+ 
|0  | 1  | 
|2  | 5  | 
|9  | 7  | 

我想知道如何生成的另一個查詢結果(相同的格式,$導致上文)與另一計算的列(標題3爲頭2 + 5) 。

|Header1 | Header2 | Header3 | 
+--------+---------+---------+ 
|0  | 1  | 6  | 
|2  | 5  | 10  | 
|9  | 7  | 13  | 

對不起,如果這沒有意義,我會詳細說明可能的情況。

卡比爾

+1

'select header1,header2,header2 + 5 as header3 from table ...' – 2014-10-30 11:53:42

回答

2

SELECT Header1, (Header1 + 5) AS Header2 FROM table_name

OR

SELECT Header1, (Header1 + 5) AS Header2, (Header 1 + 5 + 5) AS Header3 FROM table_name

還是說你的意思是遞歸?我不是100%確定你的意思。

+0

謝謝。 2個問題。如果我想要做所有列,再加上我的附加列「SELECT *,Header3」的工作?另外我試圖簡化一下,只需使用一個添加,然後根據我的需要進行裁剪,但是如果我想讓它調用一個函數而不是僅僅添加,就會「作爲Header3」的SELECT *,function($ a,Header2)「工作? – kabeersvohra 2014-10-30 11:59:46

+0

是的,如果你使用'SELECT *,(Header2 + 5)AS Header3',它會工作:) 我不確定這個,它取決於函數是什麼 - 例如如果它是你可以在你的SQL命令中執行的或不是。我建議看一下這個函數的文檔。雖然,是的,只要它是SQL命令的一部分,你可以選擇結果作爲另一列。 – Eilidh 2014-10-30 12:04:41

+0

我已經想通了,謝謝! – kabeersvohra 2014-10-30 12:22:30