我想要做的是,只在一个有访问权限的列上做一个不同的操作。不幸的是,访问是有限的,我们必须使用聚合函数。
SELECT ColB, max(ColA), Max(ColC)...
FROM Table1
WHERE blabalba
GROUP BY ColB该查询运行良好,但我需要的是由ColA获得结果顺序,如果我在最后按ColA添加ORDER,则无法执行您试图执行的查询,该查询不包括指定表达式'CSR‘作为聚合函数的一部分。
我们如何通过ColA获得这个查询顺序?
而且,我也不知道这个是否可能,但我需要结果在第一个位置有ColA,所以基本上,我们只在ColB上做了一种不同的操作,我们通过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 $谢谢你!!
发布于 2016-12-18 18:54:11
若要通过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中不起作用,那么可以将第一个查询保存为视图,然后使用ORDER从视图中查询吗?
https://stackoverflow.com/questions/41211603
复制相似问题