mysql - 如何获取每个不同值的所有出现,包括它在 mysql 中的数量?

标签 mysql mysql-workbench

我有一个如下所示的 SQL 表:

item_price | discount | quantity
  2000.00  | 360.00 | 02
  2000.00 | 360.00 | 01
  1589.00 | 250.00  | 01

我如何获得每个 item_prices 的所有出现但排除折扣(包括多个数量的折扣)?例如:对于 item_price '2000.00',我会得到它出现的 3。

我有:

select count(item_price) * quantity as occurrence from order_items group by 1;

但它只为 item_price '2000.00' 返回 2

最佳答案

按 item_price 分组,按 item_price 和 (qty*item_price) 的值以及平均折扣计数:

select
       item_price
     , count(*)          as occurrence 
     , sum(item_price * quantity) as value_of
     , avg(discount)              as avg_discount
from order_items 
group by
       item_price
;

关于mysql - 如何获取每个不同值的所有出现,包括它在 mysql 中的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47481568/

相关文章:

mysql - SELECT CASE param_name END CASE INTO @var 在存储过程中使用参数分配列

mysql - 比较日期以找出 mysql 中的 max(date) 时出错

mysql - ODBC 数据源找不到 MySQL 驱动程序

php - PDO - 将 blob 图像插入 MySQL

php - 通过 PHP PDO 从 Oracle SP 获取数据【Output is cursor】

php - 使用 jquery 验证表单并使用 jquery 中的 php 提交(if form.valid()

mysql - 仅从另一个表中获取 1 个条目

mysql - 当其中一条语句在 MySQL 中失败时,事务不会回滚

mysql - 使用 MySQL 工作台

java - 通过 SSH 连接位于防火墙后面的远程数据库