SQL Server:sum,groupby和许多列

时间:2016-12-11 23:45:19

标签: sql sql-server group-by sum

我正在使用SQL Server,在一个查询中,我需要选择多个列,并从连接表中获取某个列的总和。第二个表有多个记录(1:N关系)。

但是,正如我以前在mysql中所做的那样,我似乎无法在@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); final View v = findViewById(noScrimId); if (v != null) { if (!(v.getLayoutParams() instanceof LayoutParams)) { throw new IllegalStateException("noScrimView must be a child of DrawerLayout"); } if (((LayoutParams) v.getLayoutParams()).gravity != Gravity.NO_GRAVITY) { throw new IllegalStateException("noScrimView cannot be a drawer View"); } } else { if (noScrimId != View.NO_ID) { Log.d(getClass().getSimpleName(), "noScrimView not found"); } } } 中放置一个主列,我不明白为什么我需要在那里放置20列!

有没有办法实现它?

例如:

group by

其中许多列都是btw计算,甚至不是直接的列名。

1 个答案:

答案 0 :(得分:2)

如果没有看到数据,也许窗口函数可能会有所帮助。注意不需要按

分组
SELECT DISTINCT x,z,s,r,t,m,r,e,w,t,erm,w,we,wmw,wm
      ,sum(t2.ee) over (Partition By T1.ID)
FROM T1
LEFT JOIN T2 ON T1.id=T2.fk

如上所述,另一种选择可能是

SELECT max(x),max(z),max(s),max(r),max(t),max(m),max(r),max(e),max(w),max(t),max(erm),max(w),max(we),max(wmw),max(wm),sum(t2.ee)
FROM T1
LEFT JOIN T2 ON T1.id=T2.fk
GROUP BY T1.id