V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  jhsea3do  ›  全部回复第 3 页 / 共 4 页
回复总数  73
1  2  3  4  
2019-03-29 16:31:07 +08:00
回复了 jhsea3do 创建的主题 问与答 请教各位老大一个 SQL 逐行统计问题,感觉自己做不出来了
@jasonyang9

嗯,f2 中的 total 要描述 该产品因为 qty 的增加,而变化的总量

pid=1 的产品 初始数量是 5+5=10

第 1 次变化 qty+3, 所以 total = 10 + 3 = 13

第 2 次变化 qty+6, 所以 total = 13 + 6 = 19

第 3 次变化 qty+9, 所以 total = 19 + 9 = 28
2019-03-29 16:28:20 +08:00
回复了 jhsea3do 创建的主题 问与答 请教各位老大一个 SQL 逐行统计问题,感觉自己做不出来了
非常抱歉,很少在 V2EX 上发帖,我的排版是不够友好,以这个为准把

有一个产品统计表 d1, 每总产品的 total 数量为该类型产品 型号 part1 数量加型号 part2 数量
+-----+-------+-------+-------+
| pid | total | part1 | part2 |
+-----+-------+-------+-------+
| 1 | 10 | 5 | 5 |
| 2 | 13 | 7 | 6 |
+-----+-------+-------+-------+

可以如下句子初始化 d1 表

create table d1 (
pid int primary key,
total int,
part1 int,
part2 int
);

insert into d1 values (1, 10, 5, 5);
insert into d1 values (2, 13, 7, 6);


还有一个产出表 f1,记录每个批次 part1 的量产, bid 字段为批号 , part1 字段 为该批次的产量
比如最近 5 个批次的产量记录如下

+-----+------+-------+
| bid | pid | part1 |
+-----+------+-------+
| 1 | 1 | 3 |
| 2 | 1 | 6 |
| 3 | 1 | 9 |
| 4 | 2 | 1 |
| 5 | 2 | 2 |
+-----+------+-------+

可以如下句子初始化 f1 表
create table f1 (
bid int auto_increment primary key,
pid int,
part1 int
);


insert into f1 (pid, part1) values (1, 3);
insert into f1 (pid, part1) values (1, 6);
insert into f1 (pid, part1) values (1, 9);
insert into f1 (pid, part1) values (2, 1);
insert into f1 (pid, part1) values (2, 2);


现在每隔一段时间做一次统计,生成一个账目表 f2, 要求记录产品每个批次的数量变化,
比如某一次统计要统计 f1 中 5 个批次的产量, 期望插入如下记录

+-----+------+------+------+-------+
| tid | bid | pid | qty | total |
+-----+------+------+------+-------+
| 1 | 1 | 1 | 3 | 13 |
| 2 | 2 | 1 | 6 | 19 |
| 3 | 3 | 1 | 9 | 28 |
| 4 | 4 | 2 | 1 | 14 |
| 5 | 5 | 2 | 2 | 16 |
+-----+------+------+------+-------+


可以如下句子初始化 f2 表
create table f2 (
tid int auto_increment primary key,
bid int,
pid int,
qty int,
total int
);


注意以下的插入语句其实是我期望统计生成的数据

insert into f2 (bid, pid, qty, total) values (1,1,3,13);
insert into f2 (bid, pid, qty, total) values (2,1,6,19);
insert into f2 (bid, pid, qty, total) values (3,1,9,28);
insert into f2 (bid, pid, qty, total) values (4,2,1,14);
insert into f2 (bid, pid, qty, total) values (5,2,2,16);

目前每次统计是纯 sql 来调度的,优先考虑不用存储过程,
我本来用 join 来插入的,但发现搞不定 f2.total 那一列
2019-03-29 16:02:09 +08:00
回复了 jhsea3do 创建的主题 问与答 请教各位老大一个 SQL 逐行统计问题,感觉自己做不出来了
排版有点问题,

```sql
insert into f2 (bid, pid, qty, total) values (1,1,3,13);
insert into f2 (bid, pid, qty, total) values (2,1,6,19);
insert into f2 (bid, pid, qty, total) values (3,1,9,28);
insert into f2 (bid, pid, qty, total) values (4,2,1,14);
insert into f2 (bid, pid, qty, total) values (5,2,2,16);
```


mysql> select * from d1;
+-----+-------+-------+-------+
| pid | total | part1 | part2 |
+-----+-------+-------+-------+
| 1 | 10 | 5 | 5 |
| 2 | 13 | 7 | 6 |
+-----+-------+-------+-------+
2 rows in set (0.00 sec)

mysql> select * from f1;
+-----+------+-------+
| bid | pid | part1 |
+-----+------+-------+
| 1 | 1 | 3 |
| 2 | 1 | 6 |
| 3 | 1 | 9 |
| 4 | 2 | 1 |
| 5 | 2 | 2 |
+-----+------+-------+
5 rows in set (0.00 sec)

mysql> select * from f2;
+-----+------+------+------+-------+
| tid | bid | pid | qty | total |
+-----+------+------+------+-------+
| 1 | 1 | 1 | 3 | 13 |
| 2 | 2 | 1 | 6 | 19 |
| 3 | 3 | 1 | 9 | 28 |
| 4 | 4 | 2 | 1 | 14 |
| 5 | 5 | 2 | 2 | 16 |
+-----+------+------+------+-------+
5 rows in set (0.00 sec)
讨厌驼峰
2019-03-14 11:42:32 +08:00
回复了 lwldcr 创建的主题 全球工单系统 联通怎么就这么牛
感觉最近上海地区的联通 4G 信号比以前差了很多,市中心范围
2019-03-13 12:02:11 +08:00
回复了 scriptB0y 创建的主题 全球工单系统 Google One(原 Google Drive)无法付款?
嗯,不行,我是 master 国际卡
2019-03-13 12:00:56 +08:00
回复了 samlee946 创建的主题 全球工单系统 Google Drive 似乎炸了
顺便问一下,我想把 google drive 升级到 google one 的 100GB 套餐,怎么页面总是提示 无法升级 啊,我给他们 Q&A 回复了也没人回答。
2019-03-04 20:19:21 +08:00
回复了 TomKate 创建的主题 Java 如何通过 Java 获取远端服务器剩余磁盘大小?
1、有 agent , zabbix / jenkins (java)
2、无 agent, ansible / jsch (java)
2019-03-04 20:12:06 +08:00
回复了 doggg 创建的主题 Java Docker 化的 Java 项目还可以在基础镜像添加什么工具?
有点不清楚,你的容器应该和 maven 没有关系 ,我觉你需要准备

1. m2 私服
2. 使用 ci 工具 maven package
3. 使用 ci 工具 docker build
2018-12-19 12:34:50 +08:00
回复了 cuiweiqiang 创建的主题 程序员 试着说说 Chrome 新的圆角主题为啥觉得丑陋
2017-10-31 15:04:24 +08:00
回复了 helloword001 创建的主题 程序员 程序员们都玩王者荣耀吗
@Phariel 刚打到恶龙的路过
2017-09-08 10:53:46 +08:00
回复了 only0jac 创建的主题 程序员 实在没理解 docker 或 vagrant 是怎么统一 [开发] 环境的
开发环境好像不能统一的,你用 IDE,他用 VIM,我用 SUBLIME ? 你用 WIN,我用 LINUX,他用 MAC,除非大家都是做 Linux Server 端开发,另外库版本依赖用私服解决。

DOCKER 主要是加快迭代速度, 让各位高效(累死)的更新。

以前做一次集成测试的环境部署要开发和运维开会才能做的,现在运维把发布的开关交给开发,整坏了随时重来。
2017-09-07 10:25:10 +08:00
回复了 h2so4 创建的主题 程序员 大家除了 Github 还用啥国内的 Git 服务?
vpc + gitlab ce
2017-06-05 11:16:46 +08:00
回复了 SlipStupig 创建的主题 程序员 想问一下 docker link 问题
既然使用 link, 你应该不太用 scale 的,

其实指定 hostname / domainname 就可以了,另外 可以考虑指定 depends_on

如果两个 container 都在同一个域下面,可以直接用主机名互相访问的
2017-06-02 12:20:41 +08:00
回复了 iCodex 创建的主题 Alpine Linux 小型系统,用 alpine Linux 真真是极好的。
我现在 build docker image 都首选 alpine base, 似乎主流的各语言 runtime image 都会有 alpine branch
2017-06-02 12:17:10 +08:00
回复了 fate0 创建的主题 Python Package 钓鱼
不错,pip / npm / gem 都可以搞起来
2017-06-02 12:08:04 +08:00
回复了 huaxing0211 创建的主题 云计算 见鬼了,为啥 ECS、CVM 差异这么大?分析分析
网页查询数量共 55 条,加载用时 40.239 秒
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3620 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 00:12 · PVG 08:12 · LAX 16:12 · JFK 19:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.