问题描述:
SELECT sum(1) FROM table;和SELECT count(1) FROM table;
SELECT sum(1) FROM table;----------------累加'1'列的总和;
SELECT count(1) FROM table;--------------统计'1'列的总条数;
这里总和与总条数有何不同?
应该是这样:
如果:
SELECT SUM(ID) FROM test_t;
SELECT COUNT(ID) FROM test_t;
则第一个返回的是ID列所有值的总和,第二个是ID列的行数.
我的意思是如果使用sum(1)就会返回第一列所有不为NULL的行数,如果使用sum(具体的列名),则会返回该列所有行所存数值的总和.
如果:
SELECT SUM(1) FROM test_t;
SELECT COUNT(1) FROM test_t;
则第一个和第二个都是返回第一列的行数.
准确来讲,只有count会统计NULL列,其它的聚合函数都会忽略NULL列,
SELECT sum(1) FROM table;----------------累加'1'列的总和;
SELECT count(1) FROM table;--------------统计'1'列的总条数;
这里总和与总条数有何不同?
应该是这样:
如果:
SELECT SUM(ID) FROM test_t;
SELECT COUNT(ID) FROM test_t;
则第一个返回的是ID列所有值的总和,第二个是ID列的行数.
我的意思是如果使用sum(1)就会返回第一列所有不为NULL的行数,如果使用sum(具体的列名),则会返回该列所有行所存数值的总和.
如果:
SELECT SUM(1) FROM test_t;
SELECT COUNT(1) FROM test_t;
则第一个和第二个都是返回第一列的行数.
准确来讲,只有count会统计NULL列,其它的聚合函数都会忽略NULL列,
问题解答:
我来补答展开全文阅读