【发布时间】:2017-02-26 07:12:01
【问题描述】:
我想从表中获取最高的三个值。通过将按名称分组的所有“伏特”加在一起然后除以安培来计算该值。每个名称的安培数始终相同,因此无需计算(也无需平均)。
我已经尝试了下面的示例,但 TotalSum 对所有三个都返回 0。
SELECT name, sum(volts/amps) TotalSum
FROM mytable
WHERE MONTH(FROM_UNIXTIME(time_to)) = MONTH(CURRENT_DATE())
GROUP BY field1
ORDER BY TotalSum
LIMIT 3
...
while ($row = mysqli_fetch_array($mostused, MYSQLI_ASSOC)) {
echo $row['name'] . ' (' . $row['TotalSum'] . '), ';
}
表:
name volts amps
A 10 2
A 15 2
A 12 2
B 2 1
B 4 1
B 8 1
C 20 5
C 20 5
C 20 5
结果按最高排序:
1] A = 37/2 = 18.5 ... echo 'A (18.5)'
2] B = 14/1 = 14 ... echo 'B (14)'
3] C = 60/5 = 12 ... echo 'C (12)'
我的查询有什么错误?
【问题讨论】:
-
DESC 最高。没有字段 1。没有time_to