sql 怎么实现同表分组后的组数据相除拿最大的一组数据。大概sql是这样的:

作者&投稿:梁云 (若有异议请与网页底部的电邮联系)
sql 分组后求每组中的最大值对应的那条数据~

select A,C,(select B from T t where t.A = K.A AND t.C = K.C) B
from( select t.A A,max(t.C) C from T tgroup by T.A) K
内容拓展:
一、SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
二、SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
三、SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。

在分组中使用max()函数即可。
例图中表格:

按b列分组,求D列最大值:
select b,max(d) from a group by b

如果是最小,则可以使用 min()函数

平均值?用笛卡尔积

select max(c1/convert(decimal(10,2),c2)) from
(select count(cst_id) as c1 from customer where cst_created >='2012-08-01 00:00:00' and cst_created<='2012-08-31-23:59:59'
and cst_mobile is not null group by cst_userid) a,
(select count(b.cst_id) as c2 from customer
where cst_created >='2012-08-01 00:00:00' and cst_created<='2012-08-31-23:59:59')b

select Max() 直接使用Max可以取出最大值


伽师县15730749637: sql 怎么实现同表分组后的组数据相除拿最大的一组数据.大概sql是这样的: -
斋炒宜利: 平均值?用笛卡尔积 select max(c1/convert(decimal(10,2),c2)) from(select count(cst_id) as c1 from customer where cst_created >='2012-08-01 00:00:00' and cst_createdand cst_mobile is not null group by cst_userid) a,(select count(b.cst_id) as c2 from customer where cst_created >='2012-08-01 00:00:00' and cst_created

伽师县15730749637: 怎样将表1分组后的数据自动生成到表2,SQL高手进 -
斋炒宜利: 存在表二的话就 insert into 表2 (货品名称,颜色,入库,出库) select 货品名称,颜色,sum(入库),sum(出库) from 表1 group by 货品名称,颜色 如果不存在表二,用视图 create view 视图名 as select 货品名称,颜色,sum(入库),sum(出库) from 表1 group by 货品名称,颜色

伽师县15730749637: sql语句 如何分组后得到记录总数 -
斋炒宜利: 要得到每组的合计可以用2、3楼,要总计用1楼,想一次性得到分组合计以及总计,sql2005可以这么写:SELECT 分组字段 FROM 表 GROUP BY 分组字段 compute sum(COUNT(*)) ===== 那就这样 SELECT COUNT(*) FROM (SELECT 分组字段 FROM 表 GROUP BY 分组字段 )别名 或者 SELECT COUNT(*) FROM (SELECT distinct 分组字段 FROM 表)别名

伽师县15730749637: sql 分组后怎么把结果合并到一个类别下啊 -
斋炒宜利: --如果商品和类别在同一个表--建表 Create Table T( 商品 Varchar(10), 类别 Varchar(10), 数量 Int)--插入数据 Insert Into T Values('苹果','水果',10) Insert Into T Values('葡萄','水果',20) Insert Into T Values('西红柿','蔬菜',30)...

伽师县15730749637: 如何写sql语句实现同表多条件查询后相同数据汇总合并显示 -
斋炒宜利: select 名字, 城市, 手机, count(*) as 汇总 from 表名 group by 名字, 城市, 手机 having count(*)>1

伽师县15730749637: sqlserver怎么实现同一个表中多个count查询并且分组并且统计总数 -
斋炒宜利: 可以有两种解决方法,所需工具:SQL 查询两个count的方法1:SELECT paperName , COUNT (1) AS 总题数 , sum (CASE WHEN statu = 1 THEN 1 ELSE 0 END) AS 审核题数FROM questionGROUP BY paperNme 查询两个count的方法2:select...

伽师县15730749637: SQL 分组统计,再合并组 -
斋炒宜利: select 组名2 as 组名, 产品2 as 产品,sum(数量) as 数量 from(select case when 组名 = 'A1' then 'A' when 组名 = 'B1' then 'B' else 组名 end as 组名2,case when 组名 = 'A1' then 'aa' when 组名 = 'B1' then 'bb' else 产品 end as 产品2 ,数量 from 表 ) tb group by 组名2, 产品2

伽师县15730749637: 从同一张表中提取多组数据的SQL查询怎么写
斋炒宜利: 用 union :select * from 表 where 条件unionselect * from 表 where 条件以此类推

伽师县15730749637: SQL 分组统计怎么能让多个值为一组进行统计 -
斋炒宜利: select 部门编号,性别,avg(工资) as 平均工资 from 员工数据表 group by 部门编号,性别 union all select 部门编号,'',avg(工资) from 员工数据表 group by 部门编号 union all select '','',avg(工资) from 员工数据表 union all select '',性别,avg(工资) from 员工数据表 group by 性别

伽师县15730749637: sql分组查询后合并符合条件的数据 -
斋炒宜利: 可以把源表中为null 和''的先update一下,src都统一设置成'',如果是group by 以后合并,由于src不同,没法合并吧.因为要考虑合并后src的值

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网