Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Xếp hạng tìm kiếm MySql với các tiêu chí

Truy vấn tính cho tổng số cuộc gọi của mỗi khách hàng và cuộc gọi đã trả lời cho chiến dịch được chỉ định

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

Sau đó, bạn có thể sử dụng truy vấn ở trên làm truy vấn con để đặt hàng

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

Bạn có thể bao gồm bất kỳ cột nào mong muốn trong truy vấn kết quả




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. XÓA khỏi `bảng` NHƯ` bí danh` ... Ở đâu `bí danh`.` cột` ... tại sao lỗi cú pháp?

  2. MYSQL trích xuất các phần tử json trong đó json chứa

  3. Kết quả Mysql trong PHP - mảng hay đối tượng?

  4. Cách tốt nhất để lưu các truy vấn tìm kiếm của người dùng trong ElasticSearch?

  5. Cách so sánh hai bảng trong MySQL