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

Oblicz decyla w MySQL na podstawie sum

Możesz obliczyć decyla w MySQL, aby zidentyfikować najlepszych klientów. Zasadniczo klasyfikujesz i grupujesz klientów w 10 grup na podstawie łącznej sprzedaży. Na podstawie wyniku możesz wymyślić bardziej skoncentrowane, odpowiednie inicjatywy dotyczące utrzymania. Oto gotowe zapytanie, aby to zrobić.

Oblicz Decile w MySQL

Np. Masz stół zamówienia który zawiera wszystkie zamówienia produktów dla każdego użytkownika. Chcesz obliczyć decyla w MySQL.

zamówienie+-----------+------------+----------+| identyfikator_użytkownika | produkt | sprzedaż |+-----------+------------+----------+| 1 | Mydło | 10 || 4 | Perfumy | 100 || 1 | Makaron | 20 || 3 | Deo | 200 |+---------------+------------+----------+
decyle+-----------+----------+------------+-------------- --+| identyfikator_użytkownika | łącznie | pozycja | decyl |+---------------+----------+---------+--------------- -+| 1 | 30 | 3 | 3 || 4 | 100 | 2 | 7 || 3 | 200 | 1 | 10 |+-----------+----------+---------+--------------- -+

Oto zapytanie, którego możesz użyć do obliczenia decyla w MySQL na podstawie sum. Wystarczy wymienić kolumny – user_id, sales oraz table – order. Agreguje całkowitą sprzedaż dla każdego użytkownika. Następnie klasyfikuje je pod względem łącznej sprzedaży. Na koniec oblicza decyla na podstawie rangi.

wybierz identyfikator_użytkownika  ,total,rank,round(10*(cnt-rank+1)/cnt,0) jako decyl z (SELECT user_id,total,@curRank :=@curRank + 1 AS rankFROM (wybierz user_id  ,suma(sprzedaż  ) jako całość z `zamówienia  ` grupuj według identyfikator_użytkownika  )p, (SELECT @curRank :=0) rORDER BY total desc ) as dt,(select count(distinct user_id  ) jako cnt z`zamówienie  `) jako ct

Jeśli masz już całkowitą sprzedaż dla każdego użytkownika w tabeli i chcesz bezpośrednio użyć tabeli do obliczenia decyla, oto zapytanie

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj relacyjnych baz danych MySQL na Ubuntu 9.10 (Karmic)

  2. Przykład użycia bind_result vs get_result

  3. jak uzyskać dostęp do wiersza poleceń dla xampp w systemie Windows?

  4. Przewodnik po projektowaniu bazy danych dla koszyka zakupów online w MySQL

  5. Jak zmodyfikować kolumnę MySQL, aby zezwolić na wartość NULL?