【发布时间】:2013-10-30 17:05:39
【问题描述】:
我有两张表,我需要找到交付的包裹数量超过所有司机平均运送数量的司机,以及比平均水平多多的司机。我显示的第一个表是 Package 表,第二个是 Truck 表。我知道我需要使用计数,但我不知道如何将其与平均值结合起来
Truck_no
103
105
102
108
108
108
101
109
109
100
100
100
Truck_no Drivername
100 JONES
101 DAVIS
102 GOMEZ
103 THOMPSON
104 HERSHEY
105 FERRIS
106 SHAVER
107 LEE
108 TOPI
109 ACKERMAN
这是我目前的查询
select drivername, count(package.truck_no) as PackageCount
from PACKAGE, truck
where truck.TRUCK_NO=PACKAGE.TRUCK_NO
group by drivername
我得到了这些结果
Drivername Packagecount
ACKERMAN 2
DAVIS 1
FERRIS 1
GOMEZ 1
JONES 3
THOMPSON 1
TOPI 3
我非常感谢任何帮助。非常感谢
【问题讨论】:
-
当您使用
sum和count等时,MySQL 会进行意外分组,所以在这种情况下,我会说您应该运行两个查询,第一个将计算平均值,第二个 ( main) 将选择where Packagecount > {insert average}- 你可以使用服务器端语言(PHP、ASP 等) -
谢谢。我考虑过使用子查询,但我不能取平均的 truck_no
-
您能清楚地发布您的输入和预期输出吗...
-
我只需要找出卡车运送的包裹的平均数量(出现在第一个表中),然后指定哪些司机的运送量超过了平均数量以及他们的运送量。我应该得到 3 行