假设我有下表。
mysql> desc items;
+---------------+------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+------------------------+------+-----+---------+-------+
| item_value | int(11) | YES | | NULL | |
| item_quantity | smallint(5) | YES | | NULL | |
+---------------+------------------------+------+-----+---------+-------+
对于数量为1的项目,当前的SQL语句很简单。
select sum(item_value) as total_value from items where user_id = ?
如果一行的数量超过1,我想在为所有用户添加值时考虑到这一点。是否更容易跟踪每行的总量(item_quantity
* item_value
),还是可以在SQL语句中执行此操作?
答案 0 :(得分:4)
您可以在sum()
声明中执行算术:
select sum(item_quantity * item_value) as total_value from items where user_id = ?