count distinct 多个字段 或者 count(*) 统计group by 结果

SELECT COUNT(*) FROM
(
SELECT 列名
FROM 表名
where (
条件
)GROUP BY 多字段
)临时表名

例如:

SELECT COUNT(*) FROM
(SELECT 石材名称, 厚mm, SUM(下料数量) AS 数量, 单位, max(下料明细编号) as 下料明细编号
FROM 加工量汇总石材名称明细
where (
(DATEDIFF(day, 日期, @起始日期) <= 0) AND (DATEDIFF(day, 日期, @终止日期) >= 0) AND (账套编号 = @账套编号)
)GROUP BY 石材名称, 厚mm, 单位
)temp

时间: 2024-11-08 04:13:27

count distinct 多个字段 或者 count(*) 统计group by 结果的相关文章

SQL Server select count(distinct *)

测试表:student select * from studnet; .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csha

mysql count distinct 统计结果去重

mysql的sql语句中,count这个关键词能统计表中的数量,如 有一个tableA表,表中数据如下: id name age 1 tony 18 2 jacky 19 3 jojo 18 SELECT COUNT(age) FROM tableA 以上这条语句能查出table表中有多少条数据.查询结果是3 而COUNT这个关键词与 DISTINCT一同使用时,可以将统计的数据中某字段不重复的数量. 如: SELECT COUNT(DISTINCT age) from tableA 以上语句的

spark 例子count(distinct 字段)

spark 例子count(distinct 字段) 例子描述: 有个网站访问日志,有4个字段:(用户id,用户名,访问次数,访问网站) 需要统计: 1.用户的访问总次数去重 2.用户一共访问了多少种不同的网站 这里用sql很好写 select id,name,count(distinct url) from table group by id,name 其实这个题目是继官方和各种地方讲解聚合函数(aggregate)的第二个例子,第一个例子是使用aggregate来求平均数. 我们先用简易版来

SQL Server -&gt;&gt; 间接实现COUNT(DISTINCT XXX) OVER(PARTITION BY YYY ORDER BY ZZZ)

SQL Server 2005版本开始支持了窗口函数(Windowing Function)和OVER字句.SQL Server 2012版本开始支持了窗口函数的ORDER BY字句实现连续/累计聚合功能.但是有个功能到SQL Server 2014版本为止(从目前SQL Server 2016 CTP3来看,还是不支持),就是COUNT(DISTINCT XXX) OVER(PARTITION BY YYY ORDER BY ZZZ). 一直觉得这个事情没有办法用比较巧妙地办法做到,只能是用C

Hive语法层面优化之四count(distinct)引起的数据倾斜

当该字段存在大量值为null或空的记录,容易发生数据倾斜: 解决思路: count distinct时,将值为空的情况单独处理,如果是计算count distinct,可以不用处理,直接过滤,在最后结果中加1: 如果还有其他计算,需要进行group by,可以先将值为空的记录单独处理,再和其他计算结果进行union. 案例: select count(distinct end_user_id) as user_num from trackinfo; 调整为: select cast(count(

Mysql中count(*),DISTINCT的使用方法和效率研究

在处理一个大数据量数据库的时候突然发现mysql对于count(*)的不同处理会造成不同的结果 比如执行SELECT count(*) FROM tablename即使对于千万级别的数据mysql也能非常迅速的返回结果而对于SELECT count(*) FROM tablename WHERE.....mysql的查询时间开始攀升 仔细查阅累下手册,发现当没有WHERE语句对于整个mysql的表进行count运算的时候MyISAM类型的表中保存有总的行数,而当添加有WHERE限定语句的时候My

hive count distinct

select count(distinct user_id) from dm_user where ds=20150701; 使用disticnt函数,所有的数据只会shuffle到一个reducer上,导致reducer数据倾斜严重 优化后为 set mapred.reduce.tasks=50; select count(*) from (select user_id from dm_user where ds=20150701 group by user_id)t; order by全局排

&quot;HybridDB &#183; 性能优化 &#183; Count Distinct的几种实现方式” 读后感

原文地址:HybridDB · 性能优化 · Count Distinct的几种实现方式 HybridDB是阿里基于GreenPlum开发的一款MPP分析性数据库,而GreenPlum本身基于PostgreSQL. 如此,HybridDB的优化思路和手段难免会受到PostgreSQL影响和限制. 文中的语句最终优化得到了几个不同计划,其优化的语句简化后形如 select count(distinct c1) from t group by c2; 这条语句在HybridDB下实现: 每个服务器自

COUNT(*),count(1),COUNT(ALL expression),COUNT(DISTINCT expression)

创建一个测试表 1 IF OBJECT_ID( 'dbo.T1' , 'U' 2 )IS NOT NULL 3 BEGIN 4 DROP TABLE dbo.T1; 5 END; 6 GO 7 CREATE TABLE dbo.T1( column_1 int ,column_2 varchar(30)); 8 GO 9 10 11 INSERT INTO dbo.T1( column_1 , column_2 ) 12 VALUES( 1 , '123') , ( 2 , '1234') ,