首页 > 解决方案 > 无法从子查询结果中选择计算值

问题描述

我的目标是从另一个表中获取一些计数,然后计算差异并按该差异排序以确定我表现最好和最差的结果。

select
    `id`,
    `subscriber_count`,
    ([SUBQUERY]) as `subscribed_count`,
    ([SUBQUERY]) as `unsubscribed_count`,
    (`subscribed_count` - `unsubscribed_count`) AS `difference`
from `mytable`
order by `difference` ASC

问题是我收到了这个错误:

Error Code: 1054. Unknown column 'subscribed_count' in 'field list'

我如何按差价订购并选择它?

标签: mysql

解决方案


请尝试此代码

select
    `id`,
    `subscriber_count`,
    ([SUBQUERY]) as `subscribed_count`,
    ([SUBQUERY]) as `unsubscribed_count`,
    (([SUBQUERY]) - ([SUBQUERY])) AS `difference`
from `mytable`

问题:subscribed_count、unsubscribed_count 不是字段,它们只是 mysql 中的别名,因此无法从别名进行任何操作。

谢谢。希望能帮助到你 :)


推荐阅读