mysql - 将 WHERE 子句与 GROUP BY 结合使用

标签 mysql group-by having where-in

我想使用 2 个表格显示每张账单所售商品的总值(value) -

这是表项,表结构为 I_Code->int、Name->Varchar、Category->Varchar、Rate->int enter image description here

这是表 bills,表的结构是 BillNo->int,Date->date, I_Code->int, 数量->int

enter image description here

这是我试图获得所需输出的查询

SELECT i.`rate` * b.`qty`, b.`BillNo` FROM bills b, items i WHERE b.I_Code=i.I_Code GROUP BY `BillNo` ;

但是输出不正确 enter image description here

预期输出 enter image description here

最佳答案

试试这个:

SELECT SUM(A.TOT), b.`BillNo`
FROM (
    SELECT i.`rate` * b.`qty` AS TOT, b.`BillNo`
    FROM bills b, items i
    WHERE b.I_Code = i.I_Code
) AS A
GROUP BY `BillNo`;

SELECT SUM(i.`rate` * b.`qty`) AS TOT, b.`BillNo`
FROM bills b, items i
WHERE b.I_Code = i.I_Code
GROUP BY `BillNo`;

关于mysql - 将 WHERE 子句与 GROUP BY 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34507826/

相关文章:

php - MYSQLi 和 ssl 连接到数据库服务器

sql - 获取给定 ID 的根节点和叶节点 - 如何?

带有不同和 order_by 的 Django 查询

SQL 计数不同

sql - Postgresql、jsonb_build_object 和 jsonb_agg

php - 使用单个 id 列查询逗号分隔列?

mysql - 仅当两列中没有具有相同值的行(没有子查询)时,是否有一种有效的方法来插入?

python - Groupby Pandas 中字符串的一部分

mysql - SQL 多表 JOINS、GROUP BY 和 HAVING

mysql - 使用 WHERE 和 HAVING 查询响应时间