Pobieranie danych według zakresów czasowych

MySQL - Analiza danych Komentarze (0) »

Czasami zachodzi potrzeba sprawdzenia czy np. w danym sklepie internetowym mamy wzrost zamówień, czy spadek. Jak tego dokonać? Najprościej jest zadać odpowiednie zapytanie, które nam policzy ilość zamówień (albo utarg) w danych przedziałach czasowych.

Moja tabela zamowienia składa się z następujących pól:

  • imie klienta
  • nazwisko klienta
  • … inne dane adresowe …
  • kwota do zapłaty
  • data zamówienia (w formacie UNIX, czyli ilość sekund, które upłynęły od początku roku 1970)
  • status zamówienia (0-nowe, 1-opłacone itp.)
  • … inne dane nieistotne do omówienia tego zagadnienia …

To czy będziemy badać ilość zamówień, czy utarg nie jest w tej chwili istotne (najlepiej badać te 2 rzeczy bo dzięki temu będziesz mógł łatwo policzyć średnią wartość koszyka zmieniającą się w czasie 🙂

No więc, aby policzyć utarg naszego sklepu od początku jego istnienia wystarczy zadać proste zapytanie:
SELECT sum(kwota) FROM zamowienia AND status=1
No dobra, ale co zrobić, aby podać utarg, ale z rozbiciem na miesięczne okresy? Tutaj są dwa sposoby. Pierwszy na jaki wpadłem to prosta pętla w PHP, która generuje mi szereg zapytań w postaci:
SELECT sum(kwota) FROM zamowienia WHERE data>=$data1 AND data<$data2 AND status=1
Zawartość zmiennej $data1 i $data2 można obliczyć za pomocą PHPowej funkcji mktime. Jest to proste rozwiązanie, ale jeśli sklep internetowy istnieje 2 lata to zadajemy bazie danych 24 zapytania (dla każdego miesięcznego okresu zadajemy po jednym zapytaniu). Ot nic wielkiego, baza danych to przeżyje. Ale co będzie, jeśli sklep istniej 10 lat?? Wtedy trzeba będzie zadać aż 120 zapytań!!

Ale jest na to sposób. Czytaj dalej »

Tagi: ,

Gdzie nasi użytkownicy zakładają konta e-mailowe?

MySQL - Analiza danych Komentarze (0) »

Zarządzając PP MapaZdrowia pojawił się pewien problem. Otóż klienci zamawiając towar za pobraniem, aby móc sfinalizować zamówienie muszą odebrać pocztę i zastosować się do instrukcji w e-mailu.

Problem pojawia się, gdy dana osoba nie otrzyma e-maila. Globalny współczynnik sfinalizowanych zamówień za pobraniem nigdy nie będzie wynosił 100%, zawsze część osób nie zastosuje się do wskazówek, w e-mailu, część osób nie dostanie e-maila, gdyż wyląduje w filtrze antyspamowym! Dlatego postanowiłem zrobić coś ciekawego: otóż zadać zapytanie, które policzy mi procentowy współczynnik zatwierdzonych zamówień w zależności od tego, na jakim serwerze pocztowym ktoś ma skrzynkę!!

I tutaj pojawił się problem. Otóż e-maile są zapisywane w tabeli zamowienia w kolumnie o nazwie email, ale e-mail jest zapisywany w formacie a mnie interesuje wyłowienie samego ciągu znaków domena.pl (np. onet.pl, wp.pl). Napisanie zapytania w stylu select email i przeparsowanie danych przez pętelki w PHP nie jest zbyt wydajnym pomysłem 🙂

W tym celu wymyśliłem coś takiego: Czytaj dalej »

Tagi: , , ,

Jak pobrać dane bez duplikatów?

MySQL - Analiza danych Komentarze (1) »

Czasami istnieje potrzeba, aby pobrać z bazy danych pewne dane bez duplikatów (bez powtórzeń). Załóżmy, że chcesz pobrać adresy e-mail wszystkich klientów, aby np. je zaimportować do zewnętrznej aplikacji w celu wysłania mailingu o świątecznej promocji.

Pisząc zapytanie
SELECT email FROM zamowienia
Dane zostaną zwrócone z powtórzeniami (czyli jeśli dany klient złożył kilka razy zamówienie, to jego e-mail zostanie zwrócony kilkukrotnie). Jednak dopisując do zapytania jedno magiczne słówko można pobrać dane bez powtórzeń… Czytaj dalej »

Tagi: ,

WordPress - Hosting: Twój hosting - Skórka: N.Design Studio - Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj się