我有一个汇总函数,按(colA)进行分组。它从一组列(列B)中选择最大值,但我也想从同一行中的列(列C)中返回另一个值。但是,如果将3行分组,则从C列中选择第一个值,而不是最大值(MAX(colB))的列。
A B C
1 75 jkl
1 100 abc
1 125 dae
2 200 def
3 300 ghi
"SELECT A, MAX(B), C FROM myTable where B > 50 GROUP BY A"
returns (first row) A => 1, B => 125, C => jkl
I want it to return
A => 1, B => 125, C => dae
您将要使用一个子查询,该子查询将按max(b)
每个子查询获取A
,然后将该值重新连接到表中,以返回与该子查询的值匹配的其余列:
select *
from mytable t1
inner join
(
select A, max(b) B
from mytable
where b >50
group by a
) t2
on t1.a = t2.a
and t1.b = t2.b
where t1.b >50
参见带有演示的SQL Fiddle
问题内容: 嘿! 如何创建聚合函数以获取聚合值列表。 给出: 我想 问题答案: 我曾经将这篇文章用于完全相同的事情: http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in- transact-sql/
主要内容:1.COUNT函数,2. SUM函数,3. AVG函数,4. MAX函数,5. MIN函数SQL聚合函数用于对表的单个列的多行执行计算,它只返回一个值。它还用于汇总数据。 SQL聚合函数的类型,如下图所示 - 接下来,我们一个个地讲解。 1.COUNT函数 函数用于计算数据库表中的行数,它可以在数字和非数字数据类型上工作。 函数使用返回指定表中所有行的计数。 包函重复值和值。 语法 假设有一个表,它的结构和数据如下所示 - PRODUCT COMPANY QTY RATE COST I
在本教程中,将了解和学习SQL Server聚合函数以及如何使用它们来计算聚合。 聚合函数执行一个或多个值的计算并返回单个值。 聚合函数通常与SELECT语句的GROUP BY子句和HAVING子句一起使用。 下表显示了SQL Server中的聚合函数: 编号 聚合函数 描述 1 AVG()函数 函数用于计算集合中非值的平均值。 2 CHECKSUM_AGG()函数 函数根据一组行计算校验和值。
1. 前言 慕课解释:SQL 内置的聚合函数主要用于数据的统计和分析。 本小节,我们将一起学习 SQL 中的聚合函数。 数据统计和分析是挖掘数据规律、发现数据特征的主要手段,SQL 虽然无法直接分析数据,但是提供基本聚合函数来帮助开发者做数据挖掘。 本小节测试数据如下,请先在数据库中执行: DROP TABLE IF EXISTS imooc_user; CREATE TABLE imooc_us
问题内容: 如何以方便的方式选择表中的所有列和聚合函数? 也就是说,我有一个包含100列的表格,我想发送以下内容 谢谢! 问题答案: 要从表中选择所有列,请执行以下操作: 要从表中选择一个最大值是 两者结合: 如果要在结果行中省略column44并且仅具有maxcol44,则必须列出这些列:
查看SQL的ANSI聚合函数,我找不到字符串的任何东西。但是,每个数据库似乎都有自己的数据库,例如MySQL和Oracle的GROUP_CONCAT和LISTAGG,这使得可移植性有点困难。我是不是缺了什么?这是有原因的吗?