2011-06-10 47 views
0

我試圖返回所有行,並獲得重量*代表作爲體積的平均值,而在logdate和exercise_name命令通過logdate排序,其中ownerid在GET和table1 =練習。我編碼在PHP,odbc連接訪問。SQL:在不同日期的多列和乘法的AVG

表如下:

ID(唯一)重量(數量)重複次數(次數)的setName(數字)LOGDATE(日期)OWNERID(數字)exercise_name(文本)表(文本)

我知道這是一個複雜的SQL語句,所以我只會讓自己難堪,甚至嘗試這個事情。

任何和所有的幫助是非常感謝。

+2

你想要的不是10%清楚(至少對我來說)。特別是「ownerid在GET中」和「table1 ='練習'」。它看起來像你在僞SQL中表達了你的問題。如果它是簡單的英語可能會更清楚。你之後的輸出樣本可能會有所幫助。 – Gerrat 2011-06-10 19:02:11

+0

對不起,我真的打算清楚。 'ownerid'是來自URL的$ _GET。我認爲像你們這樣的程序員也不是英國專家,但顯然我錯了。看起來像霍克蛋瞭解。不過謝謝。 – Rod 2011-06-10 23:09:41

回答

1
$query = sprintf(' 
Select avg(weight*reps), logdate, exercise_name 
where owner_id = %d 
from table1 
order by logdate 
group by logdate, exercise_name 
', $_GET['ownerid'] 
); 
+0

感謝HawkEgg,我做了一個修改後的版本...... sprintf(「 )從同步日誌中選擇avg(體重*代表)作爲體積,logdate,exercise_name where ownerid =%d AND table1 ='exercise' group by logdate, exercise_name order by logdate 「,$ _GET ['ownerid'] ); – Rod 2011-06-11 03:40:36

+0

順序必須在最後,並且必須從哪裏開始,但除此之外..你明白了!謝謝!!! – Rod 2011-06-11 03:41:21

+0

我很想給你信貸,但我沒有15個代表。我希望有人閱讀這篇文章會給你一個代名詞。 – Rod 2011-06-12 04:30:52