gpt4 book ai didi

mysql - 我们可以使用列的 order by 而不使用该列的 group by 来编写 oracle 查询吗

转载 作者:行者123 更新时间:2023-11-29 07:40:39 24 4
gpt4 key购买 nike

我编写了以下查询。它没有给出任何输出

select mfg_name, wm_concat(cal_wid||','||mkt_share) concated_mkt_share from shares group by mfg_name order by cal_wid

当我使用下面的代码时,当我在group by中包含cal_wid时,它工作得很好

select mfg_name, wm_concat(cal_wid||','||mkt_share) concated_mkt_share from shares group by mfg_name, **cal_wid** order by cal_wid

我正在使用 jquery 将这些值附加到某些应用程序。第二个查询的输出不支持我的应用程序。 我正在尝试使用第一个查询,但顺序为 cal_wid。那么我可以使用cal_wid而不在group_by中使用它

最佳答案

这是您的查询:

select mfg_name, wm_concat(cal_wid || ',' || mkt_share) as concated_mkt_share
from shares
group by mfg_name
order by cal_wid;

您不能按 cal_wid 排序,因为结果集中的每一行都有多个 cal_wid。 Oracle 不知道您想要订购哪个值。

您可以通过聚合函数排序,例如 min()max()sum():

order by min(cal_id)

关于mysql - 我们可以使用列的 order by 而不使用该列的 group by 来编写 oracle 查询吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29163268/

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