SQL查询GROUP BY colA和ORDER by ColB问题

时间:2016-12-18 18:40:52

标签: sql distinct access

我要做的是仅在1个Access列上做一个区别。 遗憾的是访问受限,我们必须使用聚合函数。

SELECT ColB, max(ColA), Max(ColC)... 
FROM Table1 
WHERE blabalba 
GROUP BY ColB

查询工作正常,但我需要的是得到结果ORDER BY ColA,如果我在最后添加ORDER BY ColA,我就可以得到Y 你试图执行的例外不包含指定表达式的查询' CSR'作为聚合函数的一部分。

我们如何通过ColA获得此查询订单?

此外,我不知道这个是否可行,但我需要结果让ColA处于第一位置,所以基本上我们只对ColB做一种DISTINCT,我们按ColA订购

ColA            ColB          ColC
1                A              @
1                A              #
1                B              #
2                C              %
2                D              &
3                E              *
3                E              !
3                E              @
3                F              $

结果

ColA           ColB            ColC
1               A               @
1               B               #
2               C               %
2               D               &
3               E               *
3               F               $

谢谢!

1 个答案:

答案 0 :(得分:0)

要通过ColA订购,您可以尝试此查询吗?

SELECT colb, maxcola, maxcolc
FROM (
  SELECT ColB, max(ColA) AS maxcola, Max(ColC) AS maxcolc 
  FROM Table1 
  WHERE blabalba 
  GROUP BY ColB
) AS sub
ORDER BY maxcola;

或者,如果这在Access中不起作用,您是否可以将第一个查询保存为View,然后使用ORDER BY从视图中进行查询?