创建类别列mysql
我有一张交易表创建类别列mysql,mysql,sql,Mysql,Sql,我有一张交易表 Id customer_id order_id transaction_date status vendor 1 BOB TEST000001 2020-01-01 SHIPPED Vendor BRO 2 JESS TEST000002 2020-01-01 CANCELLED Vendor BRO 3 KAREN TEST000003 2020-01-03
Id customer_id order_id transaction_date status vendor
1 BOB TEST000001 2020-01-01 SHIPPED Vendor BRO
2 JESS TEST000002 2020-01-01 CANCELLED Vendor BRO
3 KAREN TEST000003 2020-01-03 CANCELLED Vendor ALPHA
4 JESS TEST000004 2020-02-04 CANCELLED Vendor CHARLIE
我想用MySQL5.7按供应商分组和统计交易数量来查询它,并根据这些条件对供应商进行分类
Vendor Category Total Transaction
Vendor BRO GREAT 3
这是聚合查询中的
大小写表达式:
select vendor, count(*) as total_transaction,
(case when sum(status = 'SHIPPED') > 2 and sum(status = 'CANCELLED') = 0
then 'Great'
when sum(status = 'SHIPPED') > 2 and sum(status = 'CANCELLED') > 0
then 'OK'
else 'Mediocre'
end) as status
from t
group by vendor;
谢谢另外,我想根据具体情况进行分类。。到目前为止我已经这么做了,但似乎是错的。按案例排序(类别“极好”、“良好”、“正常”)@翅膀摇摆翅膀。我想你可以使用按字段排序(分类为“极好”、“良好”、“正常”)
。试过之后,它给了我这个消息,有什么建议吗?错误代码:1247。不支持引用“类别”(引用组函数)@wingswings。这应该是一种地位。