mysql - 平均售价中的Mysql排序语句
问题描述
编写一 (1) 个 MySQL 查询语句,该语句返回该机构运营的每个州在过去一个月中“签订合同”的物业的平均销售价格。结果应按平均售价从高到低排序。您的查询应返回我尝试过的以下格式的表格
select * from(
select avg(sale_price) from purchase where property_id = 64
union all (
select avg(sale_price) from purchase where property_id = 60)
union (
select avg(sale_price) from purchase where property_id = 58)) as i
order by sale_price ASC;
我收到此错误,因为我的表中有 sale_price 列
22:08:19 select * from( select avg(sale_price) from purchase where property_id = 64 union all ( select avg(sale_price) from purchase where property_id = 60) union ( select avg(sale_price) from purchase where property_id = 58))当我按 sale_price ASC LIMIT 0 订购时,1000 错误代码:1054。“订单条款”中的未知列“sale_price”0.000 秒
解决方案
您应该在每个 UNION 的 SELECT 子句中使用别名。
SELECT
*
FROM
(SELECT
AVG(sale_price) AS sale_price
FROM
purchase
WHERE property_id = 64
UNION
ALL
(SELECT
AVG(sale_price) AS sale_price
FROM
purchase
WHERE property_id = 60)
UNION
(SELECT
AVG(sale_price) AS sale_price
FROM
purchase
WHERE property_id = 58)) AS i
ORDER BY sale_price ASC ;
或者您可以使用以下查询吗?我认为这在性能方面更直接。
SELECT
AVG(sale_price) AS avg_sale_price
FROM
purchase
WHERE property_id IN (64, 60, 58)
GROUP BY property_id
ORDER BY avg_sale_price ;
推荐阅读
- android - MQTT:在正常断开连接时发送消息
- javascript - 如何使用 JavaScript 在表格中进行计算?
- mongodb - MongoDB Sharding - 最近的块在分片之间不平衡
- python - 屏幕尺寸变化时如何修复小部件移动?
- javascript - 第二次运行脚本以在工作表中移动一行会在删除第一行后更改第二个活动单元格的位置。可预防?
- c++ - 每当我有一个类构造函数和析构函数 c++ 时,我就无法运行用 mingw 制作的“a.exe”?
- jenkins - Jenkinsfile 中的 sed 语句
- javascript - Node / Javascript:如何将键值对数组写入csv文件,键作为标题?
- google-cloud-platform - 为什么在创建 Cloud Composer 环境时会自动创建 2 个 Pub/Sub 主题和订阅
- python - 张量流编程中的 sess.run() 和 ".eval()"