我需要做的就是计算与此查询匹配的所有记录...这是我需要的唯一信息..是记录的数量......最有效的方法是什么?
SELECT id, country, city
FROM sales
WHERE country='Germany'
AND city='Munich'
AND closed<>0
我的意思是,我认为这是正确的,但有更有效的方法吗?我经常会运行这个计数查询......
SELECT COUNT(*)
FROM sales
WHERE country='Germany'
AND city='Munich'
AND closed<>0
我应该使用*
还是更具体的内容?
答案 0 :(得分:2)
如果您还需要为记录计数计算Null值,则使用count(*)或忽略要计算的Null值然后使用count()。
DECLARE @AA AS TABLE (ID INT, NAME VARCHAR(10))
INSERT INTO @AA VALUES(1,NULL)
INSERT INTO @AA VALUES(2,'A')
INSERT INTO @AA VALUES(3,'B')
INSERT INTO @AA VALUES(4,'C')
SELECT * FROM @AA
SELECT COUNT(*) FROM @AA
SELECT COUNT(NAME) FROM @AA
当您执行上述查询时,您会发现@AA表中将有四条记录,但如果您使用COUNT(*),如果结果为4,如果您使用COUNT(NAME),则结果为3此示例适用于SQL Server,但mysql也会这样做。
答案 1 :(得分:1)