我有一个选择
select distinct
min(trunc(ALL_SUBS_DAY.CHARGE_AMT * SUP.SHARE_USAGE, 4)) + (ALL_SUBS_DAY.CHARGE_AMT - sum(trunc(ALL_SUBS_DAY.CHARGE_AMT * SUP.SHARE_USAGE, 4))) as CHARGE_AMT
from table names;
当我尝试运行它时,我得不到单组组功能。 如果我这样做
select
min(trunc(ALL_SUBS_DAY.CHARGE_AMT * SUP.SHARE_USAGE, 4)) + (ALL_SUBS_DAY.CHARGE_AMT - sum(trunc(ALL_SUBS_DAY.CHARGE_AMT * SUP.SHARE_USAGE, 4))) as CHARGE_AMT
from table names
group by SUBS_DAY.CHARGE_AMT, SUP.SHARE_USAGE;
它有效。是不是应该像群体一样工作?我真的需要列出每一列还是有办法不这样做?
答案 0 :(得分:1)
问题在于select: function (event, ui) {
$("#site_client_first").val(ui.item.label); // what the user sees
$("#site_client_first").attr('data-realValue', ui.item.value); // value is hidden
return false;
}
您不是按它分组,也不是使用聚合函数。
$("#site_client_first").attr('data-realValue');
选择不同 min(trunc(ALL_SUBS_DAY.CHARGE_AMT * SUP.SHARE_USAGE,4))+( ALL_SUBS_DAY.CHARGE_AMT - sum(trunc(ALL_SUBS_DAY.CHARGE_AMT * SUP.SHARE_USAGE,4)))为CHARGE_AMT 来自表名;
只有当您按所有列/表达式分组并选择所有列/表达式时, ALL_SUBS_DAY.CHARGE_AMT
才会像group by一样工作。 -
+ (ALL_SUBS_DAY.CHARGE_AMT - sum(
=
DISTINCT
您的第一个查询返回单行,因为您没有按任何方式聚合,这使得select distinct a,b,c,d,e from t;
无意义。