复制
收藏
提问
简洁
select 出入库业务ID,count(1) from 物资出入库表 where 1=1 group by 出入库业务ID having count(1)>1 order by 2 desc; 什么意思
2个月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
这条SQL查询语句的意思是,它从物资出入库表中选取每个出入库业务ID,并且计算每个业务ID对应的记录数,然后按照记录数降序排列。下面是对这条查询语句的详细解释:
-
select 出入库业务ID, count(1)
:这部分指定了查询要返回的列,即出入库业务ID和每个业务ID的记录数。count(1)
是一个聚合函数,用来计算每个分组内的记录数,这里使用1作为计数参数,与count(*)
效果相同78。 -
from 物资出入库表
:指定了查询的数据来源,即物资出入库表。 -
where 1=1
:这是一个始终为真的条件,通常用作占位符,方便在实际使用时添加具体的过滤条件。 -
group by 出入库业务ID
:根据出入库业务ID进行分组,这样count(1)
就会计算每个业务ID的记录数。 -
having count(1)>1
:这个条件用来过滤分组后的结果,只保留那些记录数大于1的分组。也就是说,如果某个出入库业务ID只有一个记录,它将不会出现在最终结果中。 -
order by 2 desc
:指定了结果的排序方式。这里2
指的是select
语句中的第二列,即记录数。desc
表示按照记录数降序排列,这样记录数最多的出入库业务ID会排在结果集的最前面。
你觉得结果怎么样?