我有以下查询:
select column_name, count(column_name)
from table
group by column_name
having count(column_name) > 1;
Run Code Online (Sandbox Code Playgroud)
会有什么区别,如果我更换了所有调用count(column_name)到count(*)?
这个问题的灵感来自于如何在Oracle中的表中找到重复值?.
为了澄清已接受的答案(也许是我的问题),替换count(column_name)为count(*)将在结果中返回一个额外的行,其中包含a null和null列中的值计数.
假设表中存在主要字段"id"(如速度等),以下查询之间是否存在差异?
SELECT COUNT(id)
FROM table
Run Code Online (Sandbox Code Playgroud)
与
SELECT COUNT(*)
FROM table
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
SELECT <column>, count(*)
FROM <table>
GROUP BY <column> HAVING COUNT(*) > 1;
Run Code Online (Sandbox Code Playgroud)
如果我用COUNT('x')替换COUNT(*),结果或性能是否有任何差异?
(这个问题与之前的问题有关)