Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ranking wyszukiwania MySql z kryteriami

Zapytanie, które liczy się dla wszystkich połączeń od każdego klienta i odebranych połączeń w określonej kampanii

select 
    c.id,
    count(*) as total_calls,
    sum(case when answered=1 then 1 else 0 end) as answered_calls
from customer c
     join calls cs on c.id=cs.customer_id
where cs.campaign='2016-09'
group by c.id

Następnie możesz użyć powyższego zapytania jako podzapytania do zamówienia

select sub.id, (@rank:[email protected]+1) as rank
from (the subquery above) sub, (select @rank:=1)
order by 
  case when sub.total_calls=0 then 0 else 1,
  sub.total_calls, 
  sub.answered_calls*100/sub.total_calls

W zapytaniu wynikowym możesz uwzględnić dowolne kolumny




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz ostatnie N wierszy z MySQL

  2. Nieznana kolumna w 'liście pól', gdy w podzapytaniu znajduje się symbol zastępczy przygotowanej instrukcji

  3. Jak wybrać najnowszy wpis w mysql?

  4. Wynik zapytania mysql do tablicy php

  5. Obiekt MySQLConverter' nie ma wyjątku atrybutu '_tuple_to_mysql' z mysql-connector