fix(货运): 明细查询去掉ROUND改为全精度导出 + 小数位约定说明 + 两查询等价性验证

- 查询2/查询7的货运量、周转量、增减列不再套ROUND,导出即原始值(最多4位小数=全精度)
- 汇总类(查询1/3/5/8)保留2位;顶部新增「★小数位约定」含4631吨运距虚高的实例
- 新增验证:查询2与查询7剔除改名企业后逐比特完全相等(最大差0)
- 功能测试报告补至26条用例;工作日结同步
3个文件已修改
179 ■■■■■ 已修改文件
docs/功能测试报告/功能测试报告_同名企业1-8月累计货运量与周转量SQL_2026-09-19.md 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/工作日结/工作日结_2026-09-19.md 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/生成汇总大表/同名企业_1-8月累计对比_2026-09-19.sql 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/¹¦ÄܲâÊÔ±¨¸æ/¹¦ÄܲâÊÔ±¨¸æ_ͬÃûÆóÒµ1-8ÔÂÀۼƻõÔËÁ¿ÓëÖÜתÁ¿SQL_2026-09-19.md
@@ -81,9 +81,88 @@
| 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 æ›´ç¨³ã€‚
## ä¹ã€ç»“论
8 æ¡æŸ¥è¯¢æ•´è„šæœ¬æ‰§è¡Œé€šè¿‡ï¼Œ26 æ¡ç”¨ä¾‹ï¼ˆ17 æ­£å‘ / 2 è´Ÿå‘ / 7 è¾¹ç•Œï¼‰å…¨éƒ¨é€šè¿‡ã€‚
**同名企业口径(545 å®¶ï¼‰1-8 æœˆç´¯è®¡ç»“果:**
docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-19.md
@@ -62,6 +62,23 @@
- 546 å®¶å£å¾„合计:2025 å¹´ 1-8 æœˆ 30162.99 ä¸‡å¨ / 4637038.58 ä¸‡å¨å…¬é‡Œï¼›2026 å¹´ 27764.88 ä¸‡å¨ / 4392984.81 ä¸‡å¨å…¬é‡Œã€‚
- è„šæœ¬å†…é™„ä¸‰ç§å¯¼å‡ºæ–¹å¼ï¼ˆå‘½ä»¤è¡Œ tsv / Navicat å¯¼ xlsx / INTO OUTFILE),命令行方式已实测导出 546 è¡Œã€ä¸­æ–‡æ­£å¸¸ã€‚
- å¾…用户确认:对外报送用 545 å®¶ï¼ˆåç§°äº¤é›†ï¼‰è¿˜æ˜¯ 546 å®¶ï¼ˆä»£ç äº¤é›†ï¼‰ï¼Œç¡®è®¤åŽå†å®šç¨¿ä»¶ã€‚
追加(当日第二轮):核对桌面《规上持续在规企业1-8月运距同比.xlsx》与今日交付件,
并修复 SQL è„šæœ¬çš„æ˜Žç»†ç²¾åº¦ç¼ºé™·ã€‚
- æ ¸å¯¹ç»“论:两文件企业名称**545 å®¶é€å­—符一致**(唯一多出的是改名企业 æ¹–北长峡富烨绿电…);
  ä½†é™¤åç§°å¤–其余列对不上——运距 540/545 å®¶ä¸ä¸€è‡´ï¼ˆæœ€å¤§ 8.53 å…¬é‡Œï¼‰ã€2025 è¿è· 544/545 ä¸ä¸€è‡´ã€
  åŒæ¯” 540/545 ä¸ä¸€è‡´ï¼›æ ¹å› æ˜¯å¯¹æ–¹æ–‡ä»¶ç”¨ã€Œä¸‡å¨ä¿ç•™ 2 ä½ã€å†ç®—运距,交付件走全精度(与数据库 0 åå·®ï¼‰ã€‚
  å¦å‘现市州写法差异:对方写"恩施",交付件写"恩施州"(3 å®¶ï¼‰ã€‚
- ç¼ºé™·ä¿®å¤ï¼šåŽŸ SQL çš„æ˜Žç»†æŸ¥è¯¢ï¼ˆæŸ¥è¯¢ 2、查询 7)把万吨列 `ROUND(...,2)`,精度只到 100 å¨ï¼Œ
  ç”¨æˆ·æ‹¿åŽ»ç®—è¿è·ä¼šè¢«æ”¾å¤§ï¼ˆæ¹–åŒ—å¼˜é›· 4631 å¨ â†’ 0.46 ä¸‡å¨ â†’ è¿è·è™šé«˜ 8.53 å…¬é‡Œï¼‰ã€‚
  å·²æ”¹ä¸º 4 ä½å°æ•°ï¼Œå¹¶åœ¨è„šæœ¬é¡¶éƒ¨æ–°å¢žã€Œâ˜… å°æ•°ä½çº¦å®šã€è¯´æ˜Žæ®µï¼›æ•´è„šæœ¬å›žå½’é€šè¿‡ï¼ˆ21 æ¡ç”¨ä¾‹ï¼‰ã€‚
- å¾…确认:对外报送用 545 å®¶è¿˜æ˜¯ 546 å®¶å£å¾„;以及是否把交付件与对方文件的小数位、恩施写法统一。
- è¿½åŠ ï¼šæŒ‰ç”¨æˆ·è¦æ±‚æŠŠæ˜Žç»†ç±»æŸ¥è¯¢ï¼ˆæŸ¥è¯¢ 2、查询 7)的 `ROUND` å…¨éƒ¨åŽ»æŽ‰ï¼Œå¯¼å‡ºå³åŽŸå§‹å€¼ï¼›
  å®žæµ‹è´§è¿é‡/周转量的原始值最多 4 ä½å°æ•°ï¼ˆ636 å®¶ä¼ä¸šä¸­ 4 ä½ä»¥å¤–还有尾数的为 0 å®¶ï¼‰ï¼Œ
  4 ä½å³å…¨ç²¾åº¦ã€‚汇总类仍保留 2 ä½ã€‚整脚本回归通过(25 æ¡ç”¨ä¾‹ï¼‰ã€‚
- è¿½åŠ éªŒè¯ï¼šæŸ¥è¯¢ 2(545 å®¶åç§°å£å¾„)与查询 7(546 å®¶ä»£ç å£å¾„)**剔除改名企业后逐比特完全相等**
  ï¼ˆ545 è¡Œä¼ä¸šåå•一致,8 ä¸ªæ•°å€¼åˆ— + åœ°åŒºä»£ç æœ€å¤§å·®å‡ä¸º 0)。原因是匹配键一一对应 + æ•´æ•°æ±‚和精确。
  å·²è®°ä¸ºæµ‹è¯•报告 T26(累计 26 æ¡ç”¨ä¾‹ï¼‰ã€‚
## äºŒã€æµ‹è¯•结果摘要
见《功能测试报告_持续在规企业545家分市州累计运距同比_2026-09-19.md》:11 æ¡ç”¨ä¾‹ï¼ˆ7 æ­£å‘ / 3 è¾¹ç•Œ / 1 è´Ÿå‘)全部通过。
docs/Éú³É»ã×Ü´ó±í/ͬÃûÆóÒµ_1-8ÔÂÀۼƶԱÈ_2026-09-19.sql
@@ -23,6 +23,26 @@
-- ============================================================
-- ============================================================
-- â˜… å°æ•°ä½çº¦å®šï¼ˆ2026-09-19 è¡¥å……,很重要)★
-- ------------------------------------------------------------
-- 1) è¡¨é‡Œå­˜çš„æ˜¯ã€Œå¨ / å¨å…¬é‡Œã€çš„æ•´æ•°ï¼Œå¯¼å‡ºæ—¶ Ã·10000 å˜æˆã€Œä¸‡å¨ / ä¸‡å¨å…¬é‡Œã€ã€‚
-- 2) å‡¡æ˜¯ã€è¦æ‹¿åŽ»äºŒæ¬¡è®¡ç®—ã€‘çš„åˆ—ï¼ˆå°¤å…¶æ˜¯ã€Œå‘¨è½¬é‡ Ã· è´§è¿é‡ = å¹³å‡è¿è·ã€ï¼‰ï¼Œ
--    åƒä¸‡ä¸èƒ½åœ¨ SQL é‡Œåªä¿ç•™ 2 ä½å°æ•°ï¼
--    åŽŸå› ï¼šä¿ç•™ 2 ä½ = ç²¾åº¦åˆ° 100 å¨ã€‚对货运量只有几千吨的小企业,
--    åˆ†æ¯ä¼šè¢«ç æŽ‰æœ€å¤š 1%,算出来的运距能差出好几公里。
--    å®žä¾‹ï¼šæ¹–北弘雷物流有限公司 2026 å¹´ 1-8 æœˆè´§è¿é‡ 4631 å¨
--          â†’ ä¸å–æ•´ 0.4631 ä¸‡å¨ï¼ˆè¿è· 1267.05 å…¬é‡Œï¼Œæ­£ç¡®ï¼‰
--          â†’ å– 2 ä½ 0.46   ä¸‡å¨ï¼ˆè¿è· 1275.59 å…¬é‡Œï¼Œè™šé«˜ 8.53 å…¬é‡Œï¼‰
-- 3) æ‰€ä»¥æœ¬è„šæœ¬çº¦å®šï¼š
--    Â· æ˜Žç»†ç±»æŸ¥è¯¢ï¼ˆæŸ¥è¯¢ 2、查询 7)→ å®Œå…¨ä¸å¥— ROUND,导出即原始值
--      ï¼ˆè´§è¿é‡/周转量的原始值最多 4 ä½å°æ•°ï¼Œå°±æ˜¯å…¨ç²¾åº¦ï¼›åŒæ¯”列小数位较长,
--        å«Œé•¿å¯è‡ªè¡Œåœ¨å¤–面套 ROUND(...,2));
--    Â· æ±‡æ€»å±•示类(查询 1、3、5、8)→ ä¿ç•™ 2 ä½å°æ•°ï¼ˆç»™äººçœ‹çš„,够用且好看);
--    Â· å¦‚果你要自己算运距/同比,建议直接用查询 7,或把 /10000 é‚£ä¸€å±‚去掉,
--      å…ˆåœ¨ Excel é‡ŒæŒ‰ã€Œå¨ã€ç®—完再除。
-- ============================================================
-- =====================================================================
-- æŸ¥è¯¢ 1:汇总一行 â€”— åŒåä¼ä¸šå£å¾„的两年累计数 + åŒæ¯”增速
-- =====================================================================
@@ -56,20 +76,20 @@
-- æŸ¥è¯¢ 2:逐企业对照明细(同名企业,两年并排),可直接导出 Excel
--   æŒ‰ 2026 å¹´è´§è¿é‡ä»Žå¤§åˆ°å°æŽ’;去掉 ORDER BY å°±æ˜¯å®Œæ•´ 545 è¡Œã€‚
-- =====================================================================
SELECT e.enterprise_name                                                   AS ä¼ä¸šåç§°,
       MAX(CASE WHEN e.report_period >= '2026-01' THEN e.region_code END)  AS åœ°åŒºä»£ç ,
       ROUND(SUM(CASE WHEN e.report_period <= '2025-08' THEN e.freight_total  ELSE 0 END) / 10000, 2) AS è´§è¿é‡2025_万吨,
       ROUND(SUM(CASE WHEN e.report_period >= '2026-01' THEN e.freight_total  ELSE 0 END) / 10000, 2) AS è´§è¿é‡2026_万吨,
       ROUND((SUM(CASE WHEN e.report_period >= '2026-01' THEN e.freight_total ELSE 0 END)
            - SUM(CASE WHEN e.report_period <= '2025-08' THEN e.freight_total ELSE 0 END)) / 10000, 2) AS è´§è¿é‡å¢žå‡_万吨,
       ROUND((SUM(CASE WHEN e.report_period >= '2026-01' THEN e.freight_total ELSE 0 END)
            / NULLIF(SUM(CASE WHEN e.report_period <= '2025-08' THEN e.freight_total ELSE 0 END), 0) - 1) * 100, 2) AS è´§è¿é‡åŒæ¯”_百分比,
       ROUND(SUM(CASE WHEN e.report_period <= '2025-08' THEN e.turnover_total ELSE 0 END) / 10000, 2) AS å‘¨è½¬é‡2025_万吨公里,
       ROUND(SUM(CASE WHEN e.report_period >= '2026-01' THEN e.turnover_total ELSE 0 END) / 10000, 2) AS å‘¨è½¬é‡2026_万吨公里,
       ROUND((SUM(CASE WHEN e.report_period >= '2026-01' THEN e.turnover_total ELSE 0 END)
            - SUM(CASE WHEN e.report_period <= '2025-08' THEN e.turnover_total ELSE 0 END)) / 10000, 2) AS å‘¨è½¬é‡å¢žå‡_万吨公里,
       ROUND((SUM(CASE WHEN e.report_period >= '2026-01' THEN e.turnover_total ELSE 0 END)
            / NULLIF(SUM(CASE WHEN e.report_period <= '2025-08' THEN e.turnover_total ELSE 0 END), 0) - 1) * 100, 2) AS å‘¨è½¬é‡åŒæ¯”_百分比
SELECT e.enterprise_name                                                            AS ä¼ä¸šåç§°,
       MAX(CASE WHEN e.report_period >= '2026-01' THEN e.region_code END)           AS åœ°åŒºä»£ç ,
       SUM(CASE WHEN e.report_period <= '2025-08' THEN e.freight_total  ELSE 0 END) / 10000  AS è´§è¿é‡2025_万吨,
       SUM(CASE WHEN e.report_period >= '2026-01' THEN e.freight_total  ELSE 0 END) / 10000  AS è´§è¿é‡2026_万吨,
       (SUM(CASE WHEN e.report_period >= '2026-01' THEN e.freight_total ELSE 0 END)
      - SUM(CASE WHEN e.report_period <= '2025-08' THEN e.freight_total ELSE 0 END)) / 10000 AS è´§è¿é‡å¢žå‡_万吨,
       (SUM(CASE WHEN e.report_period >= '2026-01' THEN e.freight_total ELSE 0 END)
      / NULLIF(SUM(CASE WHEN e.report_period <= '2025-08' THEN e.freight_total ELSE 0 END), 0) - 1) * 100 AS è´§è¿é‡åŒæ¯”_百分比,
       SUM(CASE WHEN e.report_period <= '2025-08' THEN e.turnover_total ELSE 0 END) / 10000  AS å‘¨è½¬é‡2025_万吨公里,
       SUM(CASE WHEN e.report_period >= '2026-01' THEN e.turnover_total ELSE 0 END) / 10000  AS å‘¨è½¬é‡2026_万吨公里,
       (SUM(CASE WHEN e.report_period >= '2026-01' THEN e.turnover_total ELSE 0 END)
      - SUM(CASE WHEN e.report_period <= '2025-08' THEN e.turnover_total ELSE 0 END)) / 10000 AS å‘¨è½¬é‡å¢žå‡_万吨公里,
       (SUM(CASE WHEN e.report_period >= '2026-01' THEN e.turnover_total ELSE 0 END)
      / NULLIF(SUM(CASE WHEN e.report_period <= '2025-08' THEN e.turnover_total ELSE 0 END), 0) - 1) * 100 AS å‘¨è½¬é‡åŒæ¯”_百分比
FROM h2032_enterprise_monthly e
JOIN (SELECT DISTINCT enterprise_name FROM h2032_enterprise_monthly
       WHERE report_period BETWEEN '2025-01' AND '2025-08') a
@@ -207,12 +227,13 @@
--   2025-10 èµ·å«ã€Œæ¹–北长峡富烨绿电供应链有限公司」),
--   æŸ¥è¯¢ 2 æŒ‰åç§°åŒ¹é…ä¼šæŠŠè¿™å®¶ä¸¤å¹´éƒ½æ¼æŽ‰ï¼Œä¸”同时计入两年「独有企业」名单。
--   è¾“出列已按导出习惯排好,可直接粘进 Excel;按 2026 å¹´è´§è¿é‡é™åºã€‚
--   æç¤ºï¼šæ˜Žç»†è¡Œæ˜¯ã€Œå…ˆå››èˆäº”入再求和」,与查询 8 çš„合计有 0.01~0.02 çš„尾差,属正常。
--   æç¤ºï¼šæ˜Žç»†åˆ—不套 ROUND(全精度,货运量/周转量最多 4 ä½å°æ•°ï¼‰ï¼Œ
--         ä¸ŽæŸ¥è¯¢ 8 çš„ 2 ä½åˆè®¡ä¼šæœ‰ 0.01 çº§å°¾å·®ï¼Œå±žæ­£å¸¸ã€‚
-- =====================================================================
SELECT d.credit_code                                                     AS ç»Ÿä¸€ç¤¾ä¼šä¿¡ç”¨ä»£ç ,
       d.name_2026                                                       AS ä¼ä¸šåç§°,
       d.name_2025                                                       AS åç§°2025,
       IF(d.name_2025 <> d.name_2026, '是', '')                          AS æ˜¯å¦æ”¹å,
SELECT d.credit_code                                                       AS ç»Ÿä¸€ç¤¾ä¼šä¿¡ç”¨ä»£ç ,
       d.name_2026                                                         AS ä¼ä¸šåç§°,
       d.name_2025                                                         AS åç§°2025,
       IF(d.name_2025 <> d.name_2026, '是', '')                            AS æ˜¯å¦æ”¹å,
       CASE
         WHEN d.region_code LIKE '4201%' THEN '武汉' WHEN d.region_code LIKE '4202%' THEN '黄石'
         WHEN d.region_code LIKE '4203%' THEN '十堰' WHEN d.region_code LIKE '4205%' THEN '宜昌'
@@ -222,16 +243,16 @@
         WHEN d.region_code LIKE '4212%' THEN '咸宁' WHEN d.region_code LIKE '4213%' THEN '随州'
         WHEN d.region_code LIKE '4228%' THEN '恩施' WHEN d.region_code LIKE '429004%' THEN '仙桃'
         WHEN d.region_code LIKE '429005%' THEN '潜江' WHEN d.region_code LIKE '429006%' THEN '天门'
         WHEN d.region_code LIKE '429021%' THEN '林区' ELSE '其他' END     AS å¸‚å·ž,
       d.region_code                                                     AS åœ°åŒºä»£ç ,
       ROUND(d.freight_2025  / 10000, 2)                                 AS è´§è¿é‡2025_万吨,
       ROUND(d.freight_2026  / 10000, 2)                                 AS è´§è¿é‡2026_万吨,
       ROUND((d.freight_2026 - d.freight_2025) / 10000, 2)               AS è´§è¿é‡å¢žå‡_万吨,
       ROUND((d.freight_2026 / NULLIF(d.freight_2025, 0) - 1) * 100, 2)  AS è´§è¿é‡åŒæ¯”_百分比,
       ROUND(d.turnover_2025 / 10000, 2)                                 AS å‘¨è½¬é‡2025_万吨公里,
       ROUND(d.turnover_2026 / 10000, 2)                                 AS å‘¨è½¬é‡2026_万吨公里,
       ROUND((d.turnover_2026 - d.turnover_2025) / 10000, 2)             AS å‘¨è½¬é‡å¢žå‡_万吨公里,
       ROUND((d.turnover_2026 / NULLIF(d.turnover_2025, 0) - 1) * 100, 2) AS å‘¨è½¬é‡åŒæ¯”_百分比
         WHEN d.region_code LIKE '429021%' THEN '林区' ELSE '其他' END       AS å¸‚å·ž,
       d.region_code                                                       AS åœ°åŒºä»£ç ,
       d.freight_2025  / 10000                                             AS è´§è¿é‡2025_万吨,
       d.freight_2026  / 10000                                             AS è´§è¿é‡2026_万吨,
       (d.freight_2026 - d.freight_2025) / 10000                           AS è´§è¿é‡å¢žå‡_万吨,
       (d.freight_2026 / NULLIF(d.freight_2025, 0) - 1) * 100              AS è´§è¿é‡åŒæ¯”_百分比,
       d.turnover_2025 / 10000                                             AS å‘¨è½¬é‡2025_万吨公里,
       d.turnover_2026 / 10000                                             AS å‘¨è½¬é‡2026_万吨公里,
       (d.turnover_2026 - d.turnover_2025) / 10000                         AS å‘¨è½¬é‡å¢žå‡_万吨公里,
       (d.turnover_2026 / NULLIF(d.turnover_2025, 0) - 1) * 100            AS å‘¨è½¬é‡åŒæ¯”_百分比
FROM (
  SELECT e.unified_credit_code AS credit_code,
         -- 2026 å¹´ç”¨çš„名字(改名后取新名)、2025 å¹´ç”¨çš„名字,用于标记改名