xyc
9 天以前 13c2d363e0d01483393c8576bd85e37f5ce43d58
docs/¹¦ÄܲâÊÔ±¨¸æ/¹¦ÄܲâÊÔ±¨¸æ_ͬÃûÆóÒµ1-8ÔÂÀۼƻõÔËÁ¿ÓëÖÜתÁ¿SQL_2026-09-19.md
@@ -81,9 +81,119 @@
| T15 | æ­£å‘ | å‘½ä»¤è¡Œå¯¼å‡ºï¼ˆæ–¹å¼ä¸€ï¼‰ | ç”Ÿæˆ UTF-8 çš„ tsv,含 546 è¡Œæ•°æ® | 89046 å­—节、546 è¡Œæ•°æ®ã€ä¸­æ–‡åˆ—名与企业名正常 | é€šè¿‡ |
| T16 | è¾¹ç•Œ | Excel ç›´æŽ¥åŒå‡» tsv | å­˜åœ¨ä¸­æ–‡ä¹±ç é£Žé™© | æ–‡ä»¶ä¸º UTF-8 æ—  BOM,已在脚本内注明改用「数据 â†’ ä»Žæ–‡æœ¬/CSV」导入或直接导 xlsx | é€šè¿‡ |
| T17 | è¾¹ç•Œ | æ˜Žç»†ä¸­åŒæ¯”除零 | åŸºæœŸä¸º 0 æ—¶ä¸æŠ¥é”™ | `NULLIF(...,0)` ä¿æŠ¤ï¼Œè¿”回空值 | é€šè¿‡ |
## å…­ã€ç»“论
## å…­ã€è¡¥å……:明细小数位缺陷修复(2026-09-19 è¿½åŠ ï¼‰
8 æ¡æŸ¥è¯¢æ•´è„šæœ¬æ‰§è¡Œé€šè¿‡ï¼Œ17 æ¡ç”¨ä¾‹ï¼ˆ11 æ­£å‘ / 2 è´Ÿå‘ / 4 è¾¹ç•Œï¼‰å…¨éƒ¨é€šè¿‡ã€‚
**问题**:脚本原先在明细类查询(查询 2、查询 7)里把「万吨 / ä¸‡å¨å…¬é‡Œã€åˆ—写成 `ROUND(..., 2)`。
保留 2 ä½å°æ•° = ç²¾åº¦åªåˆ° 100 å¨ã€‚用户按这两列在 Excel é‡Œç®—「平均运距 = å‘¨è½¬é‡ Ã· è´§è¿é‡ã€æ—¶ï¼Œ
货运量小的企业分母被砍小,运距被明显放大。
**实例**(2026 å¹´ 1-8 æœˆï¼Œæ¹–北弘雷物流有限公司,源数据 4631 å¨ / 5867730 å¨å…¬é‡Œï¼‰ï¼š
| è´§è¿é‡ï¼ˆä¸‡å¨ï¼‰ | ç®—得的平均运距 | ç»“论 |
| --- | --- | --- |
| 0.4631(不取整) | 1267.05 å…¬é‡Œ | æ­£ç¡®ï¼ˆä¸Žæ•°æ®åº“全精度一致) |
| 0.46(取 2 ä½ï¼‰ | 1275.59 å…¬é‡Œ | è™šé«˜ 8.53 å…¬é‡Œ |
**处置**:
- æŸ¥è¯¢ 2、查询 7 çš„ 6 ä¸ªè´§è¿é‡/周转量列(两年值 + å¢žå‡é¢ï¼‰æ”¹ä¸º `ROUND(..., 4)`;
- æ±‡æ€»å±•示类(查询 1、3、5、8)保留 2 ä½å°æ•°ï¼Œå¤Ÿç”¨ä¸”美观;
- è„šæœ¬é¡¶éƒ¨æ–°å¢žã€Œâ˜… å°æ•°ä½çº¦å®šã€è¯´æ˜Žæ®µï¼Œå†™æ˜Ž"要参与二次计算的列不能只留 2 ä½",并附上述实例。
**回归验证**:
| ç¼–号 | ç”¨ä¾‹ | é¢„期 | å®žé™… | ç»“论 |
| --- | --- | --- | --- | --- |
| T18 | æ•´è„šæœ¬é‡è·‘ | æ— æŠ¥é”™ã€è¡Œæ•°ä¸å˜ | 1352 è¡Œè¾“出、无 ERROR | é€šè¿‡ |
| T19 | æŸ¥è¯¢ 7 æ˜Žç»†åˆ—精度 | è´§è¿é‡/周转量 4 ä½å°æ•° | æ¹–北弘雷 2026 å¹´è´§è¿é‡ 0.4631(原 0.46)、周转量 586.773 | é€šè¿‡ |
| T20 | ç”¨æ˜Žç»†åˆ—复算运距 | ä¸Žæ•°æ®åº“全精度一致 | 586.773 Ã· 0.4631 = 1267.05 å…¬é‡Œï¼Œä¸Žåº“内 1267.0546 ä¸€è‡´ | é€šè¿‡ |
| T21 | æ±‡æ€»åˆ—未被改动 | æŸ¥è¯¢ 1/3/5/8 ä»ä¸º 2 ä½ | æŸ¥è¯¢ 8 ä»è¾“出 546 / 30162.99 / 27764.88 / 4637038.58 / 4392984.81 | é€šè¿‡ |
## ä¸ƒã€è¡¥å……:明细类查询改为「完全不套 ROUND」(2026-09-19 è¿½åŠ ï¼‰
用户确认按「全精度」导出,明细类查询(查询 2、查询 7)的 ROUND å…¨éƒ¨åŽ»æŽ‰ï¼Œå¯¼å‡ºå³åŽŸå§‹å€¼ã€‚
**改动**:
- æŸ¥è¯¢ 2、查询 7 çš„æ‰€æœ‰æ•°å€¼åˆ—(货运量/周转量的两年值、增减额、同比百分比)一律不套 `ROUND`;
- æ±‡æ€»å±•示类(查询 1、3、5、8)仍保留 2 ä½å°æ•°ï¼Œç»™äººçœ‹çš„ï¼›
- é¡¶éƒ¨ã€Œâ˜… å°æ•°ä½çº¦å®šã€åŒæ­¥æ›´æ–°ä¸º"明细不套 ROUND"。
**精度说明(实测)**:货运量、周转量的原始值是整吨 Ã· 10000,小数位**最多 4 ä½**,
取 4 ä½å³ç­‰äºŽå…¨ç²¾åº¦ï¼›å®žæµ‹ 2026 å¹´ 1-8 æœˆçš„ 636 å®¶ä¼ä¸šä¸­ï¼Œ"4 ä½å°æ•°ä»¥å¤–还有尾数"的为 **0 å®¶**。
同比百分比是除出来的,小数位会较长(如 âˆ’2.5389920113927933),介意可在外面再套 `ROUND(...,2)`。
**回归验证**:
| ç¼–号 | ç”¨ä¾‹ | é¢„期 | å®žé™… | ç»“论 |
| --- | --- | --- | --- | --- |
| T22 | æ•´è„šæœ¬é‡è·‘ | æ— æŠ¥é”™ã€è¡Œæ•°ä¸å˜ | 1352 è¡Œè¾“出、无 ERROR | é€šè¿‡ |
| T23 | æŸ¥è¯¢ 7 å¯¼å‡ºä¸å« ROUND | è¾“出原始值 | æ­¦é’¢ç‰©æµ 738.1512 / 719.4096;湖北弘雷 0.6863 / 0.4631;周转量 889.1465 / 586.773 | é€šè¿‡ |
| T24 | å¯¼å‡ºç»“果仍为 546 è¡Œ | 546 è¡Œ | 546 è¡Œæ•°æ®ï¼ˆtsv 546 è¡Œ + è¡¨å¤´ï¼‰ | é€šè¿‡ |
| T25 | ç”¨å¯¼å‡ºå€¼å¤ç®—运距 | ä¸Žåº“一致 | 586.773 Ã· 0.4631 = 1267.05 å…¬é‡Œï¼Œä¸Žåº“内 1267.0546 ä¸€è‡´ | é€šè¿‡ |
## å…«ã€è¡¥å……:查询 2 ä¸ŽæŸ¥è¯¢ 7 çš„等价性验证(2026-09-19 è¿½åŠ ï¼‰
用户提问:"如果没有改名那家,查询 2 å’ŒæŸ¥è¯¢ 7 èƒ½å®Œå…¨å¯¹ä¸Šå—?"——实测答案:**逐比特完全相等**。
**验证方法**:把改名企业 `91420112558443820B` ä»ŽæŸ¥è¯¢ 7 çš„结果中剔除,与查询 2 çš„结果逐行逐列比对。
| æ¯”对项 | ç»“æžœ |
| --- | --- |
| æ•°æ®è¡Œæ•° | æŸ¥è¯¢ 2 = 545 è¡Œï¼›æŸ¥è¯¢ 7 å‰”除那家 = 545 è¡Œ |
| ä¼ä¸šåå• | å®Œå…¨ä¸€è‡´ï¼ˆåŒå‘差集均为空) |
| è´§è¿é‡ 2025 / 2026 / å¢žå‡ / åŒæ¯” | ä¸ä¸€è‡´ 0 å®¶ï¼Œæœ€å¤§å·® 0 |
| å‘¨è½¬é‡ 2025 / 2026 / å¢žå‡ / åŒæ¯” | ä¸ä¸€è‡´ 0 å®¶ï¼Œæœ€å¤§å·® 0 |
| åœ°åŒºä»£ç  | ä¸ä¸€è‡´ 0 å®¶ |
**原因(两条)**:
1. **匹配键一一对应**:除改名那家外,一个信用代码只对应一个企业名称、一个名称只对应一个信用代码
   ï¼ˆå‰æ–‡å·²éªŒè¯ï¼šåŒä¸€ä»£ç å¤šåç§° = 1 ä¾‹ï¼ˆå³æ”¹åé‚£å®¶ï¼‰ã€åŒä¸€åç§°å¤šä»£ç  = 0 ä¾‹ã€åŒæœˆé‡å¤è®°å½• = 0 æ¡ï¼‰ã€‚
   æ•…按名称分组与按信用代码分组,得到的是同一批 545 å®¶ã€åŒæ ·çš„行。
2. **算术精确**:两个查询都是"整吨求和 â†’ é™¤ä»¥ 10000"。吨数为整数且远小于 2⁵³,
   double å¯¹æ•´æ•°æ±‚和是精确的,故两侧完全一致(连浮点尾差都没有)。
**补充用例**:
| ç¼–号 | ç±»åž‹ | ç”¨ä¾‹ | é¢„期 | å®žé™… | ç»“论 |
| --- | --- | --- | --- | --- | --- |
| T26 | æ­£å‘ | æŸ¥è¯¢ 2 ä¸ŽæŸ¥è¯¢ 7 ç­‰ä»·æ€§ | å‰”除改名企业后两者完全一致 | 545 è¡Œä¼ä¸šåå•一致;8 ä¸ªæ•°å€¼åˆ— + åœ°åŒºä»£ç å…¨éƒ¨ 0 å®¶ä¸ä¸€è‡´ã€æœ€å¤§å·® 0 | é€šè¿‡ |
**实践含义**:查询 7 = æŸ¥è¯¢ 2 + æ”¹åä¼ä¸šï¼ˆä¿¡ç”¨ä»£ç å£å¾„是名称口径的超集),两者共同部分数值完全相同。
要跟 545 å®¶äº¤ä»˜ä»¶å¯¹è´¦ç”¨æŸ¥è¯¢ 2;要防将来再出现改名企业,用查询 7 æ›´ç¨³ã€‚
## ä¹ã€è¡¥å……:汇总类查询同步改为 4 ä½å°æ•°ï¼ˆ2026-09-19 è¿½åŠ ï¼‰
**背景**:确认「4 ä½å°æ•°ã€å¯¹å“ªäº›åˆ—等于全精度后,决定把汇总类查询也统一为 4 ä½ã€‚
**先厘清"4 ä½ = å…¨ç²¾åº¦"的适用范围**(实测 754 ä¸ªä¼ä¸š/信用代码):
| åˆ— | `ROUND(v,4) <> v` çš„å®¶æ•° | ç»“论 |
| --- | --- | --- |
| è´§è¿é‡ 2025 / 2026 | **0 å®¶** | 4 ä½å³å…¨ç²¾åº¦ï¼ˆæ•´å¨ Ã· 10000,最多 4 ä½å°æ•°ï¼‰ |
| å‘¨è½¬é‡ 2025 / 2026 | **0 å®¶** | åŒä¸Š |
| å¹³å‡è¿è· | 628 / 631 å®¶ | **不等于**全精度,是除出来的商,需单独定位数 |
| åŒæ¯”百分比 | 541 / 754 å®¶ | **不等于**全精度,同上 |
**处置**:
- æ˜Žç»†ç±»ï¼ˆæŸ¥è¯¢ 2、7)已不套 ROUND = å…¨ç²¾åº¦ï¼Œæ— éœ€æ”¹åŠ¨ï¼›
- æ±‡æ€»ç±»ï¼ˆæŸ¥è¯¢ 1、3、5、8)的 14 å¤„ `/ 10000, 2)` å…¨éƒ¨æ”¹ä¸º 4 ä½ï¼›
- é¡¶éƒ¨ã€Œâ˜… å°æ•°ä½çº¦å®šã€åŒæ­¥æ›´æ–°ä¸º"汇总类同样保留 4 ä½";
- é¡¶éƒ¨ä¸ŽæŸ¥è¯¢ 8 æ³¨é‡Šé‡Œçš„实测值一并更新为 4 ä½ã€‚
**回归验证**:
| ç¼–号 | ç±»åž‹ | ç”¨ä¾‹ | é¢„期 | å®žé™… | ç»“论 |
| --- | --- | --- | --- | --- | --- |
| T27 | æ­£å‘ | æ•´è„šæœ¬é‡è·‘ | æ— æŠ¥é”™ã€è¡Œæ•°ä¸å˜ | 1352 è¡Œè¾“出,无 ERROR | é€šè¿‡ |
| T28 | æ­£å‘ | æŸ¥è¯¢ 1 æ±‡æ€»ï¼ˆ545 å®¶ï¼‰ | 4 ä½å°æ•° | 30153.1392 / 27752.6820 / 4635340.4627 / 4389882.0468 | é€šè¿‡ |
| T29 | æ­£å‘ | æŸ¥è¯¢ 8 åˆè®¡ï¼ˆ546 å®¶ï¼‰ | 4 ä½å°æ•° | 30162.9872 / 27764.8812 / 4637038.5803 / 4392984.8116 | é€šè¿‡ |
| T30 | æ­£å‘ | æŸ¥è¯¢ 5 åˆ†å¸‚州与交付件对齐 | ä¸Žäº¤ä»˜ä»¶å¸‚州汇总一致 | æ­¦æ±‰ 9405.2643 / 1501661.4035、宜昌 5247.5232 / 449997.1831,与交付件完全一致 | é€šè¿‡ |
**副作用为零**:对货运量/周转量而言 4 ä½å°±æ˜¯å…¨ç²¾åº¦ï¼Œå› æ­¤è¿™æ¬¡æ”¹åŠ¨æ²¡æœ‰ä¸¢å¤±ä»»ä½•æ•°æ®ï¼›
但脚本输出现在与 545 å®¶äº¤ä»˜ä»¶çš„市州汇总**逐列对齐**,两个口径之间可以互相验证。
## åã€ç»“论
8 æ¡æŸ¥è¯¢æ•´è„šæœ¬æ‰§è¡Œé€šè¿‡ï¼Œ30 æ¡ç”¨ä¾‹ï¼ˆ21 æ­£å‘ / 2 è´Ÿå‘ / 7 è¾¹ç•Œï¼‰å…¨éƒ¨é€šè¿‡ã€‚
**同名企业口径(545 å®¶ï¼‰1-8 æœˆç´¯è®¡ç»“果:**