我在两张桌子中计数一些东西,想要一个汇总结果(一行)。为此,我编写了此SQL:
@Override
protected void directionDownScrolling(View recyclerView) {
// Calculate ActionBar height
TypedValue tv = new TypedValue();
int actionBarHeight = recyclerView.getContext().getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true) ?
TypedValue.complexToDimensionPixelSize(tv.data, recyclerView.getContext().getResources().getDisplayMetrics()) :
(int) recyclerView.getContext().getResources().getDimension(R.dimen.dimen_recycler_view_spacing);
recyclerView.setPadding(0, actionBarHeight, 0, 0);
}
1)结果是2行,这不是该列总计的一个值。 为什么此查询未汇总联合的相同列值?应该怎么写?
2)当我尝试对“(Amount_New1 + Amount_New2)Amount_New”求和(并将子查询列名称更改为amount_new1 / amount_new2)时,它都不起作用。为什么?
答案 0 :(得分:1)
如果您要返回一行,从概念上讲代表整个联合表的汇总,请删除GROUP BY
:
SELECT SUM(Amount_New) Amount_New,
SUM(Import_Dropout) Import_Dropout,
SUM(Import) Import,
SUM(Processing) Processing,
SUM(Processing_Dropout) Processing_Dropout,
SUM(Matching) Matching,
SUM(Matching_Dropout) Matching_Dropout,
SUM(Export) Export,
SUM(Exported) Exported,
SUM(Rejected) Rejected,
SUM(AmountSubTotal) AmountSubTotal,
SUM(AmountTotal) AmountTotal
FROM
(
-- ... your current query
) SK;
您也可能希望删除计算的UnionOrder
列,因为不需要对单行结果集进行排序。