Heim  >  Fragen und Antworten  >  Hauptteil

So zeigen Sie die Ausgabe in % mithilfe dieser Fallbedingung in der Clickhouse-Datenbank an

So verwenden Sie diese Fallbedingung in der Clickhouse-Datenbank, um die Ausgabe in %-Form anzuzeigen.

ROUND(count(distinct case when bt.status = 'approved' then bt.id else null end)/count(distinct p.id) * 100) as "SR- txns"

P粉237125700P粉237125700422 Tage vor698

Antworte allen(1)Ich werde antworten

  • P粉754473468

    P粉7544734682023-09-15 10:06:02

    但它按原样工作???

    create table test(id int, id2 int, status String) Engine=Memory
    as select number,number, ['approved', 'completed'][number%3] from numbers(10);
    
    select ROUND(count(distinct case when status = 'approved' then id else null end)/count(distinct id2) * 100) as "SR- txns"
    from test
    ┌─SR- txns─┐
    │       30 │
    └──────────┘

    Clickhouse 风格的语法:

    select ROUND(uniqExactIf(id,status = 'approved')/uniqExact(id2) * 100) as "SR- txns"
    from test
    ┌─SR- txns─┐
    │       30 │
    └──────────┘
    

    Antwort
    0
  • StornierenAntwort