我有一个这样的表:
ID Seq Amt
1 1 500
1 2 500
1 3 500
1 5 500
2 10 600
2 11 600
3 1 700
3 3 700
我想将连续序列号分组为一行,如下所示:
ID Start End TotalAmt
1 1 3 1500
1 5 5 500
2 10 11 1200
3 1 1 700
3 3 3 700
请帮助实现此结果。
WITH numbered AS (
SELECT
ID, Seq, Amt,
SeqGroup = ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Seq) - Seq
FROM atable
)
SELECT
ID,
Start = MIN(Seq),
[End] = MAX(Seq),
TotalAmt = SUM(Amt)
FROM numbered
GROUP BY ID, SeqGroup
ORDER BY ID, Start
;
有如下两张表: 1、区域表 2、数量表 根据区域统计数量表获取每个区的数量 获得结果如下: count name 28 A区 18 B区 19 C区 26 D区 问题:现在需要将A和B区的数据合并起来算作A区的数据 期望的是: count name 46 A区+B区 19 C区 26 D区 SQL应该如何调整
问题内容: 如何将查询结果放入未创建的表中? 例如,将以下查询结果放入未创建的新表中。创建表并将结果放在同一时间。 如何才能做到这一点? 问题答案: 您没有指定RDBMS系统,但是在SQL Server中会像这样
问题内容: 我有一个示例页面,该页面使用2个PHP文件和一个MySql数据库,并且我正在尝试在其上使用jQuery无限滚动。如何从数据库加载下一组数据?例如,我的图片数据库中有100条记录,我想显示20条,然后在滚动后显示下20条。 这是我目前的核心: index.php images.html 问题答案: 您需要添加到查询中。MySQL手册中的示例: 在这里,是起始偏移量,是您要获取的行数。 对
全部的 我一直在尝试这样做,数据结构如下: 要获得以下内容: 基本上,按升序排列字母字段,按降序排列数字字段,并通过使用按字母字段分组的数字字段的顺序来获得顺序或排名。 仅当我将其限制为字母列中的一个特定值时,我才实现了它,方法如下: 但我不知道如何得到上面显示的结果。知道吗?还有,有没有其他方法也适用于mysql/mssql/etc? 谢谢
问题内容: 我在Postgres服务器上有以下数据库表: 我想创建一个查询,给出了的按月份和年份如下列并对结果进行分组: 有没有简单的方法可以做到这一点? 问题答案: 应Radu的要求,我将解释该查询: :将“日期”属性转换为月的简短形式的定义格式。 :Postgresql的“提取”功能用于从“日期”属性中提取YYYY年。 :SUM()函数将所有“ Sales”值相加,并提供区分大小写的别名,并使
问题内容: 我正在使用Oracle SQL,并且想对一些“喜欢”函数结果的不同行进行分组。举例说明: 假设我有一个表MESA,其中的一列是一个巨大的字符串。 我正在计算与特定模式匹配的行数: 因此,假设此查询的结果为: 水果..afsafafasfa … RED_APPLE 20 水果..afsafafasfa … YELLOW_APPLE 12 水果..afsafafasfa … GREEN_A