mysql - 如何对两个 "type"值之间的行求和?

标签 mysql

我对PHP+MySQL有一些基础知识,但我想知道是否可以完成这样的功能。如果是这样,我应该如何实现?任何建议将不胜感激!

下面是数据表:

id |   description         |   amount  |   type   |
---+-----------------------+-----------+----------+
1      FISH BURGER MEAL        NULL        HEADER
2      Burger                  5.40        ITEM
3      Fries (S)               2.20        ITEM
4      Cola (S)                2.00        ITEM
5      SUBTOTAL                ????        SUBTOTAL

所以问题是:
我怎样才能对“HEADER”类型和“SUBTOTAL”类型之间的所有type ==“ITEMS”进行SUM(amount)

在这种情况下,函数应返回值 9.60

谢谢!

最佳答案

您可以在纯 SQL 中执行此操作:

SELECT SUM(amount) FROM table WHERE description != "SUBTOTAL"

NULL 值不会在总和中添加任何内容。

但是考虑到您在这样的表中可能有多个订单,您应该重新考虑数据库设计,因为这些订单很快就会以困惑的方式混合在一起。

关于mysql - 如何对两个 "type"值之间的行求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22570248/

相关文章:

mysql - 仅获取数据库的个人记录而不是所有记录

php - 匹配 url mysql

mysql:将表的所有列从varchar更改为decimal

mysql - Ruby on Rails 的 implode 和 explode 函数来改变日期格式

MySQL 我怎样才能更好地查询通过我的桥接表连接两个表?

mysql - SQL:使用术语名称创建表(包含年份的字符串)

python - Python Django 中的 ORM 数据建模

php - 根据用户选择编辑多项选择

mysql - 如何连接表中的两行?

php 如何从数据库中检索帖子?