【问题标题】:MySQL: SELECT + SUM() only returns one recordMySQL:SELECT + SUM() 只返回一条记录
【发布时间】:2016-05-22 05:04:00
【问题描述】:

输入数据:

“卡片”表:

卡ID名称

1 个

2 乙

3C

“数量”表(每张卡可以有多个条目,具体取决于 [当天] 到达的数量):

卡号数量

1 1

1 7

3 2

3 5

3 1

请求:

SELECT Card.cardID, SUM(Quantity.Quantity)
FROM Card
LEFT JOIN Quantity ON Card.cardID = Quantity.cardID
GROUP BY Card.cardID WITH ROLLUP

返回:

cardID SUM(...

1 ...

我需要它返回:

cardID SUM(...

1 ...

1 ...

2 0

3 ...

3 ...

3 ...

我做错了什么?

【问题讨论】:

    标签: mysql sum


    【解决方案1】:

    您需要同时按数量和 cardID 分组。

    SELECT Card.cardID, SUM(Quantity.Quantity)
    FROM Card, Quantity
    WHERE Card.cardID = Quantity.cardID
    GROUP BY Card.cardID, Quantity.Quantity WITH ROLLUP
    

    【讨论】:

    • 是的,由于某种原因,我无法理解这种互动:)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多