postgresql – 错误:对于SELECT DISTINCT,ORDER BY表达式必须出
发布时间:2020-12-13 16:00:19 所属栏目:百科 来源:网络整理
导读:我有一个表“campaign_items”,其中包含列(预算,花费),我想使用公式计算剩余预算 剩余预算=预算 – 花费 现在我在查询下运行: select distinct a.budget,a.spent from campaign_items a where campaign_item_id=12345 order by a.budget-a.spent 但是我收到
我有一个表“campaign_items”,其中包含列(预算,花费),我想使用公式计算剩余预算
剩余预算=预算 – 花费 现在我在查询下运行: select distinct a.budget,a.spent from campaign_items a where campaign_item_id=12345 order by a.budget-a.spent 但是我收到了错误:
注意:我无法从查询中删除DISTINCT关键字,因为查询是使用JdbcTemplate生成的 任何人都可以帮我解决这个错误吗? 解决方法
我认为错误的根本原因是您使用ORDER BY a.budget – a.spent进行排序,但此表达式不会出现在SELECT子句中.在下面的查询中,我使用包含计算列的子查询进行排序,但之后只选择预算和用过的列.
select t.budget,t.spent from ( select distinct a.budget,a.spent,a.budget - a.spent as sort,from campaign_items a where campaign_item_id = 12345 ) t order by t.sort (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |