我已经让自己对平均和加入表格有点恼火。
本质上,我想使用 Highcharts 显示不同植物物种的平均高度,从 MySQL 数据库中提取数据。不幸的是,高度数据和物种名称被设置为添加到不同的表格中。
我已经让它工作了,但是当我下载数据并在 Excel 中找到平均值时,这些数字与显示的数字不同 - 所以我显然做得不对。我已经仔细检查过我在 Excel 中做对了,所以几乎可以肯定是我的 MySQL 查询填满了。
实际表格中有很多条目,所以我只是在下面放了一个例子。
我目前的查询是:
<?php
$result = mysql_query("
SELECT DISTINCT(plant_records.plant_id), ROUND(AVG(plant_records.height),2) as plant_average, plant_list.id, plant_list.plant_species
FROM plant_records
INNER JOIN plant_list
ON plant_records.plant_id=plant_list.id
GROUP BY plant_list.plant_species
") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$xAxisValues[] = "'" . $row['plant_species'] . "'";
$AseriesValues[] = $row['plant_average'];
}
?>
我做对了吗?我找到了一些很好的教程来解释连接,比如这个,但我仍然很困惑。我想知道我在加入他们之前是否在平均水平,还是什么?
Records 表中的“plant_id”对应于 List 表中的“id”
植物记录:
id plant_id date_recorded height
1 3 01/01/2013 0.2523123
2 1 02/01/2013 0.123
3 3 03/02/2013 0.446
4 3 04/03/2013 0.52
5 1 05/03/2013 0.3
6 2 06/03/2013 0.111
7 2 07/05/2013 0.30
8 4 08/05/2013 0.22564
9 1 09/05/2013 1.27
10 3 10/05/2013 1.8
植物列表:
id registration_date contact_name plant_species plant_parent
1 01/01/2013 Dave ilex_prinos London_Holly
2 02/01/2013 Bill acer_saccharum Brighton_Maple
3 01/01/2013 Bob ilex_prinos London_Holly
4 04/01/2013 Bruno junip_communis Park_Juniper
编辑: 我已经尝试过使用 Excel 查找数据的所有可能方法(例如,故意不过滤唯一 ID、不同的平均类型、选择多个物种等)来查找我的查询正在使用的计算,但我无法得到相同的结果结果。