MySQL数据统计时数据翻倍了。

我在用Mysql做数据统计时需要关联3张表但是显示出来的数据有的翻了2倍有的翻了5倍,但我只做两表联查的时候不会 。求解

这是两两分开查的数据没问题
图片说明
图片说明

但是3表的就出问题了

图片说明

这是我3表的sql

图片说明

求各位大佬解答下

2个回答

不要用left join 用inner join试试。

左外连接也是笛卡尔积的形式,限制条件不足导致的,需要拼接限制条件的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
调试时数据连接超时
现在遇到的问题是,程序正常跑没有问题,但是Debug时,总是提示连接超时,连接字符串中也设置了Connection Timeout, 可是不起作用,rn不知道还需要设置其他什么属性。rnrn环境: WINDOWSXP, ORACLE10 VS。NET2008 ODP。NET
建表时数据类型定义的问题
Use mydbrnCreate table studentrn(rnStudentno, smallint(6),rnStudentname, char(20),rnDept, text(30),rnAge, bit(1,0)rnCourse text(20)rn)rngornrn我bit和text类型不会定义,这个语句错在哪里?能给个正确答案吗?
mysql 数据统计
比如当前数据表存在三个字段:rnrndate(时间戳) num(数量) department(部门)rnrn现在需要根据date来按年,按月,还有按日统计num之和rnrn查询结果大致如下:rnrn 2010 2011 2012 2013rnrn部门1 15 20 30 150rnrn部门2 15 120 80 50rnrn部门3 25 200 330 50rnrnrn
MySql数据统计
MySql数据统计 根据数据的状态或者查询条件进行数据动态统计 直接使用状态查询数据,然后"count(1)"查询数据,SQL编写相对繁琐; 这里使用“case when”区分条件状态,然后用“sum”函数计算符合条件的数据数量即此条件状态数据的条数,最后用“ifnull()”函数避免数据出现null的情况 select ifnull(sum(case when sex = '男'||sex =...
PB8做报表时数据窗口的异常问题?
我在用PB8做报表时数据窗口出现如下情况:rn 数据窗口中的十二个列均为计算列,并有一个分组。这些列的表达式均正确。rn并且能够正常地用retrieve()进行显示。但是最后做“合计”时用到summery这个rn区域。十二个合计列的表达式也正确,但是不能用retrieve()显示(全为零),rn只有选任一个合计列改动一下表达式后,所有十二个合计列才正常显示出来,但rn若用retrieve()刷新一下后,所有十二个合计列又全显示零了。rnrn 不知以上情况为何出现?如何解决?
java 读取Excel时数据位数保留问题
我在用jxl包读取Excel中时,当有些数据字段位数比较多的时候,就会自动保留了。rn比如:Excel中的数据为115.013958333333,而通过程序读取到的值是:115.014.rnrn相应的代码是:rnfor(int I=0;I
Spring返回JSON时数据字段丢失
在实现一个权限管理系统过程中,用户登录后需要返回该用户可使用的接口地址。可是在返回数据中发少了一些信息。接下来直接看代码。 简单的来说就是获取该表的所有信息。可是得到的结果却是这样的。。 很明显只获取到了id,并没有得到outlink字段信息。接下来检查了一遍代码 @RequestMapping(value = "/login",method=RequestMethod.POST
关于查询时数据窗口的过滤问题
我做一个数据窗口的查询问题,一开始设的参数做的,但是有一个参数出现这样的问题:rn选择rb_1时,将它的值赋成1rn选择rb-2时,它的值要是0或者5就对了rn但是现在或者是0或者是5 我无法实现rnrn就只好改成setfilter做rnrn结果发现选择rb-1和rb-2时要点击两次才能实现rn为什么会出现这种情况啊
网络通信时数据字节序和字符编码问题
为什么说网络通信时,数据的字节序不用管,这对多字节的数据会不会出错,比如:rnrn“汉”的编码为双字节(b030),在不同字节序的机器上可能是(30b0),可是我发时的数据是b030,不同字节序机器上读取不会出错吗??rnrn还有就是字符编码问题:rn因为GBK和UTF8编码不同,如果从GBK的机器上发数据上UTF8的机器上,是不是要先把数据转成UTF8的才可以哦
python cx_oracle插入时数据编码问题
数据库编码问题 新手入坑,第一次使用oracle数据库,还是与mysql略有不同,首先在插入数据时的SQL语法有很大不同,mysql写法: insert into tablename values (%s,%s) oracle中插入写法: insert into tablename(ITEM_ID, CONTENT) values (:ITEM_ID, :CONTENT) 问题描述: mysq...
mysql 数据统计 分区函数
interval函数 :interval(字段,比较值1,比较值2、、、)如果字段的值小于哪个比较值,返回这个比较值前一个比较值的位置,位置从1开始计数 elt函数:elt(n,值1,值2,值3)如果n=1,返回值1.n=2,返回值2,如果n值得个数,返回null
mysql表中数据统计
有一个mysql创建的表doc_order,表有两个字段a和b,都是text类型,表没有主键。字段a和b的值都有重复值,但是表中没有重复的记录,现在想统计以下信息:rn(1)针对字段a的每一个取值,相应的记录的个数?rn(2)针对字段a的每一个取值,相应的记录个数小于3个的a的取值有多少个?rn(3)针对字段b的每一个取值,相应的记录的个数?rn(4)针对字段a的每一个取值,相应的记录个数小于3个的b的取值有多少个?rn
求助 mysql数据统计
mm_info表结构如下:rn[code=SQL]SELECT id,userid,uptime,type,material FROM mm_info m;rn533675, 11902, 2011-06-17 18:12:45, 0, 'HRB400'rn532829, 11896, 2011-06-17 10:18:35, 0, 'SPHC'rn532790, 11896, 2011-06-17 10:14:11, 0, 'SPHE'rn532564, 11895, 2011-06-17 09:16:09, 0, '321/2B'rn530886, 11893, 2011-06-16 16:07:08, 0, 'DC01'rn530976, 11892, 2011-06-16 16:09:49, 0, 'Q245R'rn533357, 11888, 2011-06-17 12:12:32, 0, '441/2D'rn533332, 11888, 2011-06-17 12:11:53, 0, '441/2D'rn533307, 11888, 2011-06-17 12:10:04, 0, '441/2D'rn532291, 11887, 2011-06-17 08:42:50, 0, '321/N01'rn533576, 11886, 2011-06-17 14:51:46, 0, 'Q235B'rn533049, 11886, 2011-06-17 11:08:16, 0, 'Q235B'rn533037, 11886, 2011-06-17 11:08:15, 0, 'Q235B'rn532765, 11886, 2011-06-17 10:04:12, 0, 'Q235B'rn532680, 11886, 2011-06-17 09:49:21, 0, 'Q235B'rn532678, 11886, 2011-06-17 09:49:20, 0, 'Q235B'rn532208, 11886, 2011-06-17 08:38:47, 0, 'Q235B'rn531002, 11886, 2011-06-16 16:11:24, 0, 'Q235B'rn530833, 11885, 2011-06-16 15:14:02, 0, 'Q235B'rn530801, 11885, 2011-06-16 15:14:01, 0, 'Q235B'rn530719, 11883, 2011-06-16 14:53:53, 0, 'Q235B'rn532421, 11881, 2011-06-17 08:45:36, 0, '409L'[/code]rnrnmm_tj表结构如下:rn[code=SQL]userid titime sunrn10331 2011-06-20 2[/code]rnrn现要将mm_info的一天一个用户id的次数统计进mm_tj的表里.rn日前我只能筛选出每天用户上传的明细.要怎么count(userid)确定这个值(一天一次.一共有多少次)呢?rn我的方法如下:rn[code=SQL]rninsert into mm_tj rnSELECT userid,DATE_FORMAT(uptime,"%Y-%m-%d") as uptime,count(userid) rnFROM mm_info m group by DATE_FORMAT(uptime,"%Y-%m-%d") rnorder by userid desc,rnuptime desc;[/code]rnrnrn我期望的结果如下:rn[code=SQL]rnuserid titime sunrn11902, 2011-06-17, 1rn11896, 2011-06-17, 2rn11895, 2011-06-17, 1rn11893, 2011-06-16, 1rn11892, 2011-06-16, 1rn11888, 2011-06-17, 3rn11887, 2011-06-17, 1rn11886, 2011-06-16, 8rn11885, 2011-06-16, 2rn11883, 2011-06-16, 1rn11881, 2011-06-17, 1[/code]
MySQL 数据统计查询
现在我有一个表,列选项:ID,USER,DATE(2008-09-01)rn主键:USER和DATE。rn查询任务:计算在DATE在2008-09-01和2008-09-06期间,出现1天,2天,3天,...6天的数目rnrn我用的是MySQL数据库,想了好久,没想出来,不知道javaeye上的大虾遇到这种情况没有rnrn先谢了。n[b]问题补充:[/b]n由于USER 和 DATE 是MYSQL 的关键字,现在把表参数改为USER-USR,DATE-DAYDATErn表名:USER_TABLErn例如:我要得到表中值出现一天以上的用户rn查询如下:rnselect count(distinct usr) from user_table where daydate between '2008-09-01' and '2008-09-06'rn如果我要求出表中出现两天以上的用户呢?rn情况有如下:改用户在1,2好,2,3号,1,2,3号等等,就是排列组合rn查询语句是 ...?rnrn不知道我说清楚没有...rnn[b]问题补充:[/b]n谢谢wxjiaaa的回答,虽说不是很准确,但给了我解决问题的思路rn现在把自己得到的答案放到这里,看能不能对一些人有帮助rnselect count(usr) from (select usr ,count(usr) as usrNum from user_table where daydate >= '2008-09-01' and daydate <= '2008-09-06' group by usr) t where t.usrNum >=2rnrn该问题还可改进,比如可以一次性查1,2,3,...6天的结果,一条sql语句搞定,不过现在基本得到了结果,延伸应该没问题
mysql查询数据统计
//统计某个时间段 吨数和销售额的统计数据 SELECT tr.item_name AS "商品名称" ,SUM(tr.item_num) AS "吨数",SUM(tr.item_listing_price) AS "销售额" FROM tr_order_item tr WHERE tr.dr = 0 AND tr.create_time BETWEEN "2018-10-20" AND "2...
mysql嵌套子查询之数据统计
统计限制时间范围每天的数据,sql语句如下: SELECT t.extend_time, COUNT(*) AS total FROM (SELECT DATE_FORMAT(extend_time, ‘%Y-%m-%d’) AS extend_time, need_nums FROM table WHERE appid = ‘***’ AND act_id = ‘6’ AND need_num...
python3数据统计模版-mysql
#!/Users/zuojingang/python_venv/bin/python3.6 # -*- coding: UTF-8 -*- import pymysql import sys import time import os from datetime import timedelta,datetime #连接数据库 connect = pymysql.connect(host=''...
Layui的tab选项卡切换时数据表格加载异常
有时一个页面可能会有多个内容,但又不希望这几个内容同时显示的时候使用Tab选项卡是再适合不过了,简洁又方便。不过可能选项卡里面的内容是数据表格,这时候就要注意了layui数据表格很有可能会出现宽度被压缩的情况。 像这样,第一个tab选项卡里的内容是正常的但是除了第一个以外其他的选项卡里面的数据表格就会被像这样子压缩。既然是数据表格的宽度出了问题,那首先就要从表格开始想问题的来源。像这个问题,...
mysql中让数据库中的数据量翻倍
insert into School_Notice_Label(id,outId,type,status,channelLabel,insertTime,updateTime, note) select UUID(),concat(outId,'2'),type,status,channelLabel,insertTime,updateTime, note from School_Notice
mysql中时间间隔数据统计问题!
[img=https://img-bbs.csdn.net/upload/201409/15/1410781652_67737.jpg][/img]rn怎么用sql 统计出如图所示中的结果
在做数据操作时数据表名是否可以为变量?????????
string t_b_product;rnselect * from t_b_product;rn我不知怎么传一个变量作为表名!!!!!!!!
请教:怎样时数据窗口的一行变为不可编辑?
并确保添加下一行,是可以编辑的?
取数据时数据库里无数据异常如何处理?
如 <%ResultSet rs = view.getInfo();rn while(rs.next()%> rn <%=rs.getInt(1);%>rn <%=rs.getInt(2);%>rn <%%>rn当数据库里没数据时就会抛rnjava.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 无效的游标状态rn异常。rn哪里捕获?小菜想如何数据库里没数据时,就显示一个error.html页面,该怎么在处理这个异常里写?
mysql多表多个数据统计语句
1.前一段时间开发做poi开发word,用到数据统计,介于多数据count统计,写多条sql太low,还影响性能,所以查阅了一些资料总结了一套sql,感谢mysql。 场景需求:需要在表a,b,c的一些条件下,查询出合格信息和不合格信息,以及总数。 sql:select SUM(case when c.CHECKRESULT = ‘合格’ then 1 else 0 end) as qu...
用mysql触发器做数据统计
一 、具体实现 文件表: create table if not exists `file` ( `Name` varchar(255) NOT NULL, `Bucket`
产值翻倍
#include<stdio.h> #include<math.h>int main() { int n=1; float a=100,rate; printf("input rate:"); scanf("%f",&rate); for(;a<=200;) { n++; a=a*(1+rate); } print
MySql关于数据统计常用的SQL
大家在工作汇总可能需要很多sql,增删改查,有可能没有接触到很难的sql,我们通常要对数据进行统计,比如获取本周,本月,本年的数据,这时候需要查询本月一号,到月末,本年一号,到12月31,随着年份的增长我们不可能给一个固定值,这就需要我们在MySql中使用时间。 1. 获取本周周一      select date_sub(curdate(),INTERVAL WEEKDAY(curda...
关于打印时数据窗口超过纸张宽度时????
关于打印时数据窗口超过纸张宽度时,数据窗口自动转行,带来极大不方便rn请问各位你们是怎么解决这个问题的rn还有,使用insert插入的graph对象请问该如何预览,怎样才能打印出来?
请教:jdbc链接SQLserver2000数据库时数据表名无效
import java.sql.*;rnpublic class Test rn public static void main(String[] args) rn tryrn Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");rn catch (Exception e)rn System.out.println("not class");rn rn Connection conn;rn Statement stmt ;rn ResultSet rs;rn try rn conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_user","sa","123");rn System.out.println("This");rn stmt = conn.createStatement();rn //noinspection UnusedAssignmentrnrn rs = stmt.executeQuery("select * from table");rn while(rs.next())rn System.out.println("this is rs");rn rn rs.close();rn stmt.close();rn conn.close();rn catch(Exception e)rn System.out.println(e.getMessage());rn rn rnrnrnrn运行时出现如下错误:rnThisrn[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'table' 附近有语法错误。rnrn请指教原因!
.net在建立与ORACLE连接时数据链接属性如何设置?
.net在建立与ORACLE连接时数据链接属性如何设置?采用ms ole db provider for oracle和ORACLE PROVIDER FOR OLEDB 两种时服务器名称和数据源到底输什么?
mysql数据迁移时数据库版本不同
公司搭建了2台服务器, 准备把原先的服务器撤下来, 需要把原服务器上的数据库迁移到新的服务器上,但是现在的服务器数据库还是5.1版本的(买的别人的服务器,他们装好的mysql),但是旧服务器的数据库版本是5.5 的,从5.5把数据迁移至5.1,总是会遇到不兼容的问题 为什么会使用utf8mb4,因为utf8mb4才是真正的utf8编码 “utf8”只支持每个字符最多三个字节,而真正的 UTF-...
实时数仓设计之mysql binlog
maxwell启动的时候指定需要同步的表,因为并不是所有的表都需要同步到实时数仓,指定表可以大大的减少发送到kafka的数据量,启动命令例子: ./bin/maxwell --user=root --password=123456 --host=127.0.0.1 --producer=stdout --client_id test1 \ --replica_server_id 1 --filt...
OmniPlan非工作时数与额外工作时数
默认情况的工作时间,是从周一到周五的8点~5点,中午有1个小时吃饭时间。 双击或者拖拽一块区域创建新的时间安排,拖动边缘可以改变大小。 如果有例外的时间安排比如假期或者加班,点击下方的Extra &amp; Off Hours,在这里选择特定的日期对时间安排作出修改 1. 在日历中按住shift并进行拖动可以创建红色的非工作时数。 2. 在日历中直接拖动可以创建蓝色的额外工作时数。 ...
??数据统计
select * from MobileInfo rnrn这张表的数据 rn[img=E:/111.png][/img]rn rnSELECT COUNT(CASE flag WHEN 0 THEN 0 WHEN 1 THEN 0 WHEN 2 THEN 0 WHEN 3 THEN 0 END) AS Totalumber, rnCOUNT(CASE flag WHEN 0 THEN 0 END) AS Xnumber, COUNT(CASE flag WHEN 1 THEN 0 END) AS Lnumber, rnCOUNT(CASE flag WHEN 2 THEN 0 END) AS Ynumber, COUNT(CASE flag WHEN 3 THEN 0 END) AS Cnumber, GroupName rnFROM MobileInfo where CorpID='HT00001'and GroupID=850 GROUP BY GroupName rn当groupID=850 得到的数据 rn [img=E:/222.jpg][/img]rnrn现在MobileInfo 多咯FatherID这一列 怎么统计呀 界面上是树 点击父节点能获得当前父节点和下面的子节点的值 rn[img=E:/333.jpg][/img]rnrn850 下面有两个节点868和870 rnSELECT COUNT(CASE flag WHEN 0 THEN 0 WHEN 1 THEN 0 WHEN 2 THEN 0 WHEN 3 THEN 0 END) AS Totalumber, rnCOUNT(CASE flag WHEN 0 THEN 0 END) AS Xnumber, COUNT(CASE flag WHEN 1 THEN 0 END) AS Lnumber, rnCOUNT(CASE flag WHEN 2 THEN 0 END) AS Ynumber, COUNT(CASE flag WHEN 3 THEN 0 END) AS Cnumber, GroupName rnFROM MobileInfo where CorpID='HT00001'and GroupID in(850,868,870) GROUP BY GroupName rn我这样写得到的结果是 rn rnrn我想要的结果是 一条数据 rnrn108+8+8 ,9+1+0,,,,,GropName是父节点组别名:2分组 rn
数据统计
table登记rnId Int(4)rnBeChecker Nvarchar(16)rnDept Nvarchar(16)rnExplain Nvarchar(256)rnResutl Chra(1)rnChecker Nvarchar(16)rnCheckTime Datetimern在这样一张表中rn统计每个用发表的数据,rn 月份 1 2 3 4 5 6 7 8 9 10 11 12rn 名字rn 姓名1rn 姓名2rnrn以上面这种形式去统计,有什么好的办法,因为是使用asp 所以请说说思路
数据统计?
原始数据格式如下:rnrn客户编号 单据号 货物编码 发货标志(0:未发货;1:已发货)rnC01 D01 H01 0rnC01 D02 H01 1rnC01 D02 H02 1rnC01 D02 H02 1rnC01 D03 H01 0rnrnrn希望结果:rn客户编号 单据数 货物种类 发货标志(0:未发货;1:已发货)rnC01 2 1 0rnC01 1 2 1rn--说明:单据数:根据单据号统计rn 货物种类:根据货物编码统计,相同的货物编码算作一个货物种类rn请大侠帮忙?
数据统计!
示例数据:rn号码 规格rn60100001 S11rn60100002 S22rn60200001 S11rn60200005 S22rn要求出这样的报表rn两个输入框,要求输入601、602或者为其他的,类似输入一个开始日期,一个结束日期,分规格统计数量:rn 601 602rnS11 1 1rnS22 1 1rn注意:规格不确定多少种,是动态的,输入的601、602也是不确定的,有可能是601、631,要求一句SQL出结果。
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池