Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建类别列mysql_Mysql_Sql - Fatal编程技术网

创建类别列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按供应商分组和统计交易数量来查询它,并根据这些条件对供应商进行分类

  • 很好:超过2个已发货交易,0个已取消交易
  • 确定:超过2个已发货交易和1个或多个已取消交易
  • 平庸:除了卓越和良好的标准
  • 结果应该是这样,

    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。这应该是一种地位。