因此,我正在编写一个 SQL 教程,该教程要求找到受损驾驶员比例比所有州平均水平高 20% 的州。百分比以0-100之间的百分点表示。
我写了以下查询:
SELECT state, percent_alcohol_impaired
FROM playground.bad_drivers
WHERE percent_alcohol_impaired - 20 >
(SELECT AVG(percent_alcohol_impaired)
FROM playground.bad_drivers)
LIMIT 100
教程没有执行我的查询。这不是让各州高于平均水平的好方法(或者有更好的方法)吗?短暂性脑缺血发作。
SELECT state, percent_alcohol_impaired
FROM playground.bad_drivers
WHERE percent_alcohol_impaired > 1.2 * (SELECT AVG(percent_alcohol_impaired) FROM playground.bad_drivers)
LIMIT 100;
您应该将平均百分比乘以 1.2,发现比平均值高 20%,然后将其与每个州受损驾驶员的百分比进行比较。