Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Weryfikacja zapytań
olo707
post
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 30.03.2012

Ostrzeżenie: (0%)
-----


Witam,

Stworzyłem kilka zapytań które wstępnie sprawdziłem i działają ale będę wdzięczny za jakieś spostrzeżenia, ewentualnie rady w poprawieniu.
Mam dwie tabelki pierwsza to 'users' z kolumnami
id - (oczywiście primary key autoincrement), name, email
druga tabela to 'invoices'z kolumnami
user_id, amount, created_at

Przykładowy wiersz z pierwszej tabeli wygląda tak ; 16 Esther Barton esther.white@wiegand.info
Przykładowy wiersz z drugiej tabeli wygląda tak ; 2180 12.61 2015-06-16

A poniżej co chcę osiągnąć i zapytania;

ile każdego dnia było transakcji
  1. SELECT created_at, COUNT(*) AS countValue FROM invoices GROUP BY created_at ORDER BY created_at DESC


ile każdego dnia było unikalnych użytkowników przeprowadzających transakcję
  1. SELECT COUNT(DISTINCT user_id) AS number, created_at FROM invoices GROUP BY created_at ORDER BY created_at DESC


ile było użytkowników, w każdej domenie mailowej
  1. SELECT DISTINCT (SUBSTRING_INDEX(email, '.', -1)) AS emailSlice, COUNT(id) AS countUsers FROM users GROUP BY (SELECT DISTINCT (SUBSTRING_INDEX(email, '.', -1)))


ile transakcji miał każdy użytkownik
  1. SELECT DISTINCT invoices.user_id, users.name, COUNT(created_at) AS countDate FROM invoices INNER JOIN users ON invoices.user_id = users.id GROUP BY user_id ORDER BY user_id


wszyscy użytkownicy, którzy mają więcej niż 3 transakcje
  1. SELECT invoices.user_id, users.name, COUNT(*) AS countAmount FROM invoices INNER JOIN users ON invoices.user_id = users.id GROUP BY invoices.user_id HAVING COUNT(*) > 3



jaka była średnia wartość transakcji i odchylenie standardowe z ostatnich 7 dni, w których występują transakcje
  1. SELECT ROUND(AVG(total),2) AS avgTotal, ROUND(STDDEV(total),2) AS devTotal FROM (SELECT ROUND(SUM(amount),2) AS total FROM invoices GROUP BY created_at ORDER BY created_at DESC LIMIT 7) AS fromList


Ten post edytował olo707 27.02.2016, 22:11:44
Go to the top of the page
+Quote Post

Posty w temacie
- olo707   Weryfikacja zapytań   27.02.2016, 21:33:33
- - mmmmmmm   [SQL] pobierz, plaintext SELECT DISTINCT (SUBS...   27.02.2016, 22:35:43
- - kajzur   Jest ok. Tylko w "wszyscy użytkownicy, którzy...   27.02.2016, 22:37:02
- - olo707   dzięki   28.02.2016, 10:50:19


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 16:29