2011-06-10 32 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