如何仅在一行中使用分组依据?

阿黛布·马克

如果问题标题错误,请纠正我,

我在MySQL命名表 sales

-------------------------------------------------------------------------------------
| PRODUCT_NAME | PRODUCT_QUANTITY | PRODUCT_TYPE | In_Box_Count_Sell | ExpiryDate |
-------------------------------------------------------------------------------------
|     kkkkk    |       4          |   Count      |         1         |   2021-02-28 |
|     kkkkk    |       4          |   Count      |         1         |   2021-02-21 |
|     yuyuyu   |       3          |   Count      |         5         |   2021-02-21 |
-------------------------------------------------------------------------------------

另一个表名为 depot

    --------------------------------
    | ITEM_NAME | PRODUCT_QUANTITY | 
    --------------------------------
    |   kkkkk   |      12          |
    |   yuyuyu  |      15          |
    --------------------------------

我已经使用了这个查询:

SELECT `ExpiryDate`,`PRODUCT_NAME` As pdname,sales.`PRODUCT_QUANTITY`,`In_Box_Count_Sell`,`PRODUCT_TYPE`,(`depot`.`PRODUCT_QUANTITY`) As InDepotQuent FROM ((`sales`
INNER JOIN depot ON sales.PRODUCT_NAME = depot.ITEM_NAME)
INNER JOIN bill_info ON sales.BILL_NUMBER = bill_info.BILL_NUMBER)
WHERE bill_info.BILL_TYPE = 'مشتريات' 
ORDER BY `sales`.`PRODUCT_NAME`  ASC

其结果是:

---------------------------------------------------------------------------------------------
|  ExpiryDate | pdname | PRODUCT_QUANTITY | In_Box_Count_Sell | PRODUCT_TYPE | InDepotQuent |
---------------------------------------------------------------------------------------------
|  2021-02-21 | kkkkk  |       10         |        1          |     Count    |      12      |
|  2021-02-28 | kkkkk  |       4          |        1          |     Count    |      12      |
|  2021-08-25 | yuyuy  |       3          |        5          |     Count    |      15      |
---------------------------------------------------------------------------------------------

我需要得到的是atc=的总和PRODUCT_QUANTITY-的总和,InDepotQuent 结果将像这样:

---------------------------------------------------------------------------------------------------
|  ExpiryDate | pdname | PRODUCT_QUANTITY | In_Box_Count_Sell | PRODUCT_TYPE | InDepotQuent | atc |
---------------------------------------------------------------------------------------------------
|  2021-02-21 | kkkkk  |       10         |        1          |     Count    |      12      |  2  |
|  2021-02-28 | kkkkk  |       4          |        1          |     Count    |      12      |  2  |
|  2021-08-25 | yuyuy  |       3          |        5          |     Count    |      15      |  12 |
---------------------------------------------------------------------------------------------------

所以 sum of PRODUCT_QUANTITY = (14) - sum of InDepotQuent = (12)

atc = 2

并且考虑到pdname的名称在表中相似!

戈登·利诺夫

如果我理解正确,则可以使用窗口函数:

SELECT ExpierDate, PRODUCT_NAME As pdname, s.PRODUCT_QUANTITY, 
       In_Box_Count_Sell, PRODUCT_TIPE, d.PRODUCT_QUANTITY As InDepotQuent,
       SUM(s.PRODUCT_QUANTITY) OVER (PARTITION BY PRODUCT_NAME) - d.PRODUCT_QUANTITY as atc
FROM sales s JOIN
     depot d
     ON s.PRODUCT_NAME = d.ITEM_NAME JOIN
     bill_info bi
     ON s.BILL_NUMBER = bi.BILL_NUMBER
WHERE bi.BILL_TIPE = 'مشتريات' 
ORDER BY s.PRODUCT_NAME ASC;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Laravel中雄辩地获得分组依据的最后一行

来自分类Dev

使用Pandas分组依据数据框中的第一行来计算累积差异

来自分类Dev

使用Pandas分组依据数据框中的第一行来计算累积差异

来自分类Dev

在表格中使用分组依据

来自分类Dev

如何在Esqueleto查询中使用分组依据和总和

来自分类Dev

如何在Oracle中使用分组依据列出汇总值

来自分类Dev

如何在SQL Server中使用分组依据

来自分类Dev

SQL:如何在分组依据中使用sum

来自分类Dev

如何在子查询中使用“分组依据”?

来自分类Dev

如何使用python检索大熊猫分组依据的最后一列行的值?

来自分类Dev

如何使 TextView 仅在一行中?

来自分类Dev

如何使用分组依据语句

来自分类Dev

如何使用分组依据获取最后一条记录

来自分类Dev

用大熊猫的分组依据注释每一行吗?

来自分类Dev

SQL-分组依据以获取总和,如果总和为0,还返回一行

来自分类Dev

根据通用字段将多行转换为一行(分组依据)

来自分类Dev

熊猫分组依据日期范围取决于每一行

来自分类Dev

在SQL Server中返回没有分组依据的非唯一行

来自分类Dev

仅在python中使用正则表达式从第一行选择空格

来自分类Dev

在分组依据中使用案例陈述

来自分类Dev

在查询中使用datepart与分组依据

来自分类Dev

在SQL中使用分组依据的情况

来自分类Dev

在嵌套哈希中使用分组依据和排序依据

来自分类Dev

如何在一行中使用多个bash命令

来自分类Dev

如何在一行命令中使用 sendmail

来自分类Dev

如何在一行中使用for循环打印列表

来自分类Dev

如何使用“分组依据”和“剪切”方法在熊猫数据框中使用连续分布对一系列列值进行分组?

来自分类Dev

如何从按列分组的分组中返回一行

来自分类Dev

如何从按列分组的分组中返回一行

Related 相关文章

  1. 1

    如何在Laravel中雄辩地获得分组依据的最后一行

  2. 2

    使用Pandas分组依据数据框中的第一行来计算累积差异

  3. 3

    使用Pandas分组依据数据框中的第一行来计算累积差异

  4. 4

    在表格中使用分组依据

  5. 5

    如何在Esqueleto查询中使用分组依据和总和

  6. 6

    如何在Oracle中使用分组依据列出汇总值

  7. 7

    如何在SQL Server中使用分组依据

  8. 8

    SQL:如何在分组依据中使用sum

  9. 9

    如何在子查询中使用“分组依据”?

  10. 10

    如何使用python检索大熊猫分组依据的最后一列行的值?

  11. 11

    如何使 TextView 仅在一行中?

  12. 12

    如何使用分组依据语句

  13. 13

    如何使用分组依据获取最后一条记录

  14. 14

    用大熊猫的分组依据注释每一行吗?

  15. 15

    SQL-分组依据以获取总和,如果总和为0,还返回一行

  16. 16

    根据通用字段将多行转换为一行(分组依据)

  17. 17

    熊猫分组依据日期范围取决于每一行

  18. 18

    在SQL Server中返回没有分组依据的非唯一行

  19. 19

    仅在python中使用正则表达式从第一行选择空格

  20. 20

    在分组依据中使用案例陈述

  21. 21

    在查询中使用datepart与分组依据

  22. 22

    在SQL中使用分组依据的情况

  23. 23

    在嵌套哈希中使用分组依据和排序依据

  24. 24

    如何在一行中使用多个bash命令

  25. 25

    如何在一行命令中使用 sendmail

  26. 26

    如何在一行中使用for循环打印列表

  27. 27

    如何使用“分组依据”和“剪切”方法在熊猫数据框中使用连续分布对一系列列值进行分组?

  28. 28

    如何从按列分组的分组中返回一行

  29. 29

    如何从按列分组的分组中返回一行

热门标签

归档