我正在根据州的数据库做一些统计.我想输出状态的等级和它与其他状态相比的百分比(即状态X的值高于其他状态值的55%).
我正在尝试这样的事情:
SELECT
count(*) AS TotalStates,
(SELECT COUNT(*) FROM states) AS NumberStates,
(TotalStates/NumStates) AS percentage
FROM states
WHERE CRITERIA > 7.5
Run Code Online (Sandbox Code Playgroud)
我收到一个SQL错误,TotalStates(我的派生值)找不到.如何通过一个查询返回所有这三个值?
您可以将主要计算放在子选择中,然后引用外部查询中的别名列,以便拉取已计算的值并从中获取另一个:
SELECT
TotalStates,
NumberStates,
TotalStates / NumberStates AS percentage
FROM (
SELECT
COUNT(*) AS TotalStates,
(SELECT COUNT(*) FROM states) AS NumberStates
FROM states
WHERE CRITERIA > 7.5
) s
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16982 次 |
| 最近记录: |