Search
Aktuální datum a čas
SELECT now();
Vyberte různá příjmení všech zaměstnanců
SELECT DISTINCT last_name FROM employee
Počty příjmení zaměstanců, řazeno sestupně dle počtu
SELECT last_name, COUNT(last_name) FROM employee GROUP BY last_name ORDER BY count(last_name) DESC
Procentuální zastoupení jmen zaměstnanců, záznamy seřazeny podle procentuálního zastoupní sestupně
SELECT last_name, (CAST(COUNT(last_name) as FLOAT)/(SELECT count(DISTINCT last_name) FROM employee)*100) AS percent FROM employee GROUP BY last_name ORDER BY percent DESC
Roční prodeje a zisky v jednotlivých obchodech (store_id, store_name, total sales, total cost, [total profit])
SELECT store.store_id, store.store_name, SUM(ysales.store_sales * ysales.unit_sales) AS sales, SUM(ysales.store_cost* ysales.unit_sales ) AS cost, SUM((ysales.store_sales - ysales.store_cost)*ysales.unit_sales) AS profit FROM store JOIN sales_fact_1997 AS ysales USING (store_id) GROUP BY store.store_id, store.store_name ORDER BY 3 DESC;
Všichni zákazníci a počet jejich nákupních týdnu (týdny, ve které nakupovali) větší než půlku týdnů v roce (365/7/2)
SELECT cust.customer_id, cust.fname, cust.lname, count(distinct stime.week_of_year) as purchases_weeks, COUNT(DISTINCT stime.time_id) as customer_purchases FROM customer AS cust JOIN sales_fact_1998 AS ysales USING (customer_id) JOIN time_by_day AS stime USING (time_id) GROUP BY cust.customer_id, cust.fname, cust.lname HAVING COUNT(DISTINCT stime.week_of_year) > (365/7/2) ORDER BY purchases_weeks DESC;
Platy u všech zaměstnanců, které byly vyplaceny v mexických peso. Pokud nebyl nějakému zaměstatnanci vyplacen plat v pesech, má ve výpisu 0.
SELECT e.full_name, COALESCE(SUM(salary_paid), 0) FROM employee e LEFT JOIN (SELECT * FROM salary JOIN currency USING(currency_id) WHERE currency = 'Mexican Peso') AS mexsal ON (mexsal.employee_id = e.employee_id) GROUP BY e.employee_id,e.full_name
Počet dodaných jednotek zboží v letech 1998 a 1997
SELECT SUM(units_ordered) FROM ( SELECT * FROM inventory_fact_1997 UNION SELECT * FROM inventory_fact_1998 ) AS total_inv
Jména produktů, které byly prodány v roce 1997, ale už ne v roce 1998
SELECT product_name FROM ( SELECT product_id FROM inventory_fact_1997 EXCEPT SELECT product_id FROM inventory_fact_1998 ) as total_inv JOIN product USING(product_id)
Zaměstnanci s nadprůměrným platem
SELECT * FROM employee e WHERE e.salary > (SELECT AVG(salary) FROM employee)
Vsechny obchody s udajem, kolik zamestnancu maji v oddelenich zacinajicich na “HQ”
SELECT s.store_id, s.store_name, COALESCE(counts.cnt, 0) FROM store s LEFT JOIN (SELECT e.store_id, count(*) AS cnt FROM employee e WHERE e.department_id IN (SELECT department_id FROM department WHERE department_description LIKE 'HQ%') GROUP BY e.store_id) counts ON s.store_id=counts.store_id
Nejstarší zaměstnanci v každém obchodě
SELECT s.store_id, s.store_name, e.full_name, e.birth_date FROM store s JOIN employee e USING (store_id) JOIN (SELECT store_id, MIN(birth_date) AS datum FROM employee GROUP BY store_id) nejstarsi ON (e.store_id=nejstarsi.store_id) AND (e.birth_date=nejstarsi.datum)