Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用select query选择在每个组下方添加总和_Sql - Fatal编程技术网

Sql 使用select query选择在每个组下方添加总和

Sql 使用select query选择在每个组下方添加总和,sql,Sql,样本表: INSERT INTO Table1 ([ID], [Name]) VALUES ('1', 'Alpha'), ('2', 'Beta'), ('3', 'Beta'), ('4', 'Beta'), ('5', 'Charlie'), ('6', 'Charlie') 使用select查询,我想在每个组下面添加一行,每个名称的id之和为。我已经尝试使用union,但我需要对每个名称执行select查询。但名字随时都可能改变

样本表:

INSERT INTO Table1
    ([ID], [Name])
VALUES
    ('1', 'Alpha'),
    ('2', 'Beta'),
    ('3', 'Beta'),
    ('4', 'Beta'),
    ('5', 'Charlie'),
    ('6', 'Charlie')
使用select查询,我想在每个组下面添加一行,每个名称的id之和为。我已经尝试使用union,但我需要对每个名称执行select查询。但名字随时都可能改变

选择查询结果:

ID  Name   
1   Alpha     
1
2   Beta
3   Beta
4   Beta
9
5   Charlie
6   Charlie
11

您可以通过具有计算列的联合来实现这一点,以跟踪联合两侧的源名称:

SELECT ID, Name
FROM
(
    SELECT ID, Name AS position, Name FROM Table1
    UNION ALL
    SELECT SUM(ID), Name, NULL
    FROM Table1
    GROUP BY Name
) t
ORDER BY
    position, ID;


尝试添加Id字段和按名称分组。

我的意思是使用select查询而不是在表中插入对不起。就数据库管理而言,这里有一些问题。首先,您永远不会希望以这种方式在数据库中存储数据,因为您正在收集数据。如果您只是想获取数据,那么最好创建一个查询来聚合数据,然后在您使用的任何视图中管理显示。你能再解释一下你想要达到的目标吗?很抱歉我没能解释清楚。正如您所说,我希望它是一个查询的结果,而不是在存储数据时。我只是将insert作为示例表包含在内。
SELECT SUM(Id), Name from Table1 GROUP BY name