假设有个课程表course,其中有个字段Ccredit,现在想查询这个字段前N条记录的和,那么这个语句该怎么写?
可能首先想到的就是:select sum(Ccredit) from course limit N;
可是经过试验却发现查询出来的是这个字段所有记录的和,而不是前N条的;看了一下文档才发现sum的优先级要
高于limit,所以才会出现这个结果。上网查询了一下有不少好的建议:比如有的说建立一个临时表,有的说用程序控
制。下面给出一个语句可以实现此功能:希望起到抛砖引玉的功能,期待大家给出更好的方法。
SELECT sum(Ccredit) FROM ( select * from course limit N) a;