sql 统计 重复-请问使用子表和父表关联,sum统计时如何不让父表字段重复统计

问题描述

请问使用子表和父表关联,sum统计时如何不让父表字段重复统计

select
sum(parent.value) --统计时重复了
,sum(child.value)
。。。
from parent left join child house on child.parent_id = parent.id
where 。。。。

这里sum(parent.value)统计重复了

解决方案

 加上distinct
 select
sum(distinct parent.value)

解决方案二:

最好不要在这种情况下使用distinct,还是要从你的sql入手。

给出表示例和想要的结果,给你写一个。

解决方案三:

之前貌似遇到过你这个问题,当时的解决思路是,先查父表,之后再查询子表。试过了,当时一条语句出不来数据,。

时间: 2024-11-16 23:32:15

sql 统计 重复-请问使用子表和父表关联,sum统计时如何不让父表字段重复统计的相关文章

两表合并 统计汇总-根据出库表和入库表数据统计生成出入库统计表,SQL语句写法?

问题描述 根据出库表和入库表数据统计生成出入库统计表,SQL语句写法? 比较简易的出入库管理中,出库表包括:产品名称.出库数量.出库时间:入库表包括:产品名称.入库数量.入库时间:我需要得到的是在指定时间段内的每一个产品的入库总数量 出库总数量.哪位老师可以帮我写出这个SQL语句呢?MS SQL DELPHI2010 解决方案 类似这样把,没调试,自己调测一下吧 select * from (select distinct 产品名称 from 出库表 union select distinct

求SQL语句,将多个表合成一个表,每个表的结构不一样。要过滤重复的字段和行

问题描述 求SQL语句,将多个表合成一个表,每个表的结构不一样.要过滤重复的字段和行如:tb1(idintprimarykey,namevarchar(10),titlevarchar(10),)tb2(idint,namevarchar(10),titlevarchar(10),addressvarchar(10)foreignkey(id)referencestb1(id))tb3(idint,namevarchar(10),telvarchar(10),addressvarchar(10)

请问sql语句from后可以用selectfromwhere语句创建表吗

问题描述 请问sql语句from后可以用selectfromwhere语句创建表吗 请问sql语句from后可以用selectfromwhere语句创建表吗 如果可以的话是不是可以直接在后面起一个名字 解决方案 Navicat for MySQL界面下如何用SQL语句创建表?sql语句 update fromsql语句 update from 解决方案二: 可以 在sql语句中. ';'就代表一句话,可以接着写. 解决方案三: 你是想把查询结果保存到一个表吗? 你可以用Select Into语句

【sql查询与优化】3.操作多个表

注:以下所有sql案例均取自"oracle查询优化改写技巧与案例"丛书. EMP表的详细: 查询所有信息, SQL> select * from emp;      EMPNO ENAME                JOB                       MGR HIREDATE       SAL        COMM       DEPTNO ---------- -------------------- ------------------ -------

你真的会玩SQL吗?无处不在的子查询

你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节点的方法 你真的会玩SQL吗?让人晕头转向的三值逻辑 你真的会玩SQL吗?EXISTS和IN之间的区别 你真的会玩SQL吗?无处不在的子查询 你真的会玩SQL吗?Case也疯狂 你真的会玩SQL吗?表表达式,排名函数 你真的会玩SQL吗?简单的 数据修改 你真的会玩SQL吗?你所不知道的 数据聚合

sql-SQL表中t表有30个字段,假设有28个字段需要做分数统计,有没优化方案能够实现

问题描述 SQL表中t表有30个字段,假设有28个字段需要做分数统计,有没优化方案能够实现 假设t表有30个字段,其中28个字段需要做分数统计,f1(5分)f2(10分)f3(8分)...F28(x分) 每个字段的分数都不规则的,有什么优化方案做统计呢? 目前我现在做的办法是写了一个存储过程 用@sum统计分数 然后逐个字段做select查询,如果不为空@sum=@sum+分数 所以这里跪求各位大大看有没有解决方案 解决方案 不是很明白你的意思! sum(f1)~sum(f28),除了用存过,还

sql update-学生党 根据成绩表修改学生表“考试课程数”字段

问题描述 学生党 根据成绩表修改学生表"考试课程数"字段 需求:根据成绩表中的课程编号COURNO数据,统计考试课程数(一个学生要考几门课),并更新学生表"考试课程数"字段. 理想中学生表"考试课程数"字段中数据(从200001到200009)为: 1,1,2,0,1,1,1,0,0 自行尝试sql: update 学生 set 学生.考试课程数 = COUNT(成绩.学号STUNO) where (学生.学号STUNO = 成绩.学号STUNO

sql-SQL 表A根据表C的记录新增数据,表C有多少条数据,表A的每条记录就新增多少条不重复的记录

问题描述 SQL 表A根据表C的记录新增数据,表C有多少条数据,表A的每条记录就新增多少条不重复的记录 declare @a table ( id int, [no] varchar(8), name varchar(8) ) declare @c table ( [no] varchar(8) ) insert into @a(id,[no],name)values(1,'A','张三') insert into @a(id,[no],name)values(2,'A','李四') inser

sql-为什么图中的SQL代码,from里面不用填其中一个来源表呢?

问题描述 为什么图中的SQL代码,from里面不用填其中一个来源表呢? 为什么图中的代码, 子查询里面的from只有orders这个表没有customers这个表呢? 我觉得括号里面from应该有customers,是因为我觉得SQL会先运行括号里面的内容.但实际顺序是怎样的呢? 解决方案 你这是SELECT里面的子查询,表示用customers.cust_id到orders里面去查找相关的订单数量 并且这时候的子查询每次SELECT只能是出一个值,不允许在select中的子查询查找出多个值,或