当select语句有不同的关键字并且只有一个列时,使用count(1)= 1有什么用?
查询如下所示:
select distinct (col1)
FROM tab1
where creat_dt_tm >= sysdate - 1/24/60*30 and condition2 = "xyz"
group by col1,sys
having count(1) =1
字符串
这里的sys在group by子句中有什么用?
当我们对select语句应用distinct时,count(1)= 1有什么用?
我不知道我是否理解其中的逻辑。
1条答案
按热度按时间lvjbypge1#
我没有你的表,所以我将在Scott的
emp
示例表上说明它。这是它的内容:
字符串
启动查询可能如下所示:
deptno
和job
列的计数组合:型
现在,您的查询只想返回计数等于1的行,因此-让我们添加
having
子句:型
查询作者决定不显示所有列,而只显示其中一列;在我的示例中,它将是
job
列(group by
保持不变):型
显然,有重复,因此
distinct
关键字连同和group by
子句:型