gpt4 book ai didi

postgresql - 为什么我不能在 order by select distincts 中使用相等性?

转载 作者:行者123 更新时间:2023-11-29 12:50:51 27 4
gpt4 key购买 nike

假设我有

select distinct id, flavor from bageltown order by id, flavor

这有效。

但是如果我说

select distinct id, flavor from bageltown order by id, flavor='lox' desc, flavor

我收到一个错误,指出 distinct 子句中没有元素。

当然,这是通过编辑查询来修复的:

select distinct id, flavor='lox', flavor from bageltown order by id, flavor='lox' desc, flavor

但我想知道 - 为什么需要将 bool 列添加到我的输出中?

最佳答案

DISTINCT的目的| (而不是 DISTINCT ON )是删除结果表中的重复行。这在您的特定情况下可能不是问题(因为您在结果表中有 id),但如果您按 flavor='lox' 排序和 flavor='lox'不是结果列,不能保证没有某些行表示(如果不是删除重复项)同时具有 flavor='lox'flavor<>'lox' ,目前尚不清楚应如何对它们进行排序。如果你对待flavor='lox''flavor<>'lox'作为单独的行,然后你又回到了表中的重复行。

关于postgresql - 为什么我不能在 order by select distincts 中使用相等性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54334035/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com