我有一个名为“pizzadata”的简单表,其中包含以下列:
cust_id INTEGER NOT NULL bill_date INTEGER NOT NULL
pizza_amt INTEGER NOT NULL bill_date
(为简单起见)是交易完成后经过的天数。
我想做以下报告:
+----------+-----------------+
| interval | total_pizza_amt |
+----------+-----------------+
| 0-29 | X |
| 30-59 | Y |
| 60+ | Z |
+----------+-----------------+
基本上我熟悉 WITH
但是我刚刚意识到mysql不支持它。所以我需要以某种方式生成一个临时列,并将其与 PizzaData
table。
用mysql怎么做?
2条答案
按热度按时间acruukt91#
我觉得这很容易
case
:或更干净,使用子查询:
2ekbmq322#
我会这样写:
笔记:
一
case
表达式保证按顺序计算条件,因此不需要between
.mysql允许您在
group by
子句(并非所有数据库都这样做)。interval
是mysql关键字和保留字。这列有更好的名字。这个
order by
保证结果按“逻辑”顺序排列。