wiki:AdvancedReports

Version 13 (modified by 184006, 10 months ago) ( diff )

--

Напредни извештаи од базата (SQL и складирани процедури)

Прикажување на мобилен оператор на кој што се најчесто корисниците претплатници. Доколку мобилниот оператор Telecom започнува на 072 или 071, мобилниот оператор VIP започнува на 078 или 075.

   SELECT
    CASE
        WHEN SUBSTRING(u.number, 1, 3) IN ('072', '071') THEN 'Telecom'
        WHEN SUBSTRING(u.number, 1, 3) IN ('078', '075') THEN 'VIP'
        ELSE 'Other Operator'
    END AS mobile_operator,
    COUNT(u.id) AS number_of_users
FROM
    project.users u
where
    u.number LIKE '072%' OR
    u.number LIKE '071%' OR
    u.number LIKE '078%' OR
    u.number LIKE '075%'
GROUP BY
    mobile_operator
ORDER BY
    number_of_users DESC;

Прикажување на ветеринарен центар кој што нуди највисока плата за позицијата doctor.

   SELECT
    vc.name AS name_vet_center,
    MAX(CAST(j.predictedSalery AS varchar)) AS highest_salary
FROM
    project.vet_centers vc
JOIN
    project.jobs j ON vc.id = j.vetcentersid
WHERE
    j.description = 'doctor'
GROUP BY
    vc.name
ORDER by
highest_salary DESC
LIMIT 1;

Прикажување на ветеринарни центри кои што корисникот може да ги посети доколку живее во Охрид.

SELECT
  vc.name AS vet_center_name,
  vc.description AS vet_center_description,
  vc.adress AS vet_center_address,
  vc.phoneNumber AS vet_center_phone_number
FROM
  project.vet_centers vc
JOIN
  project.cities c ON vc.citiesID = c.ID
WHERE
  c.name = 'Ohrid';

Прикажување кој корисник има најголем број на миленичиња.

SELECT u.name, u.lastname, COUNT(p.ID) AS pet_count
FROM project.users u
JOIN project.pets p ON u.ID = p.usersID
GROUP BY u.ID
ORDER BY pet_count DESC
LIMIT 1;

Прикажување која раса е најчесто застапена.

SELECT b.name AS breed_name, COUNT(p.ID) AS pet_count
FROM project.breeds b
JOIN project.type_of_pets t ON b.ID = t.ID
JOIN project.pets p ON t.ID = p.typeOfPetsID
GROUP BY b.ID
ORDER BY pet_count DESC
LIMIT 1;

Прикажување на совет чија што дата на побарување не е постара од 6 месеци гледано од денешната дата.

SELECT *
FROM project.blog_post_for_consultations
WHERE date_askes >= CURRENT_DATE - INTERVAL '6 months';

Прикажување која терапија за која дијагноза е препишена.

SELECT t.description AS therapy_description,
       d.description AS diagnosis_description
FROM project.therapy t
JOIN project.diagnostics d ON t.diagnosticsID = d.ID;

Прикажување на возраста на секое милениче.

SELECT
  p.ID AS pet_id,
  p.color,
  p.description AS pet_description,
  p.dateOfBirthday,
  AGE(current_date, p.dateOfBirthday) AS pet_age
FROM
  project.pets p;

Прикажување на држава која е најчест производител на лекови.

 select
	state as country,
	COUNT(*) as most_common_manufacturer
from
	project.manufacturers
group by
	state
order by
	most_common_manufacturer desc
limit 1;

Прикажување на продукти кои што би можело да се потрошат најбрзо бидејќи има побарано најголема количина за нив.

SELECT
  p.name AS product_name,
  p.description AS product_description,
  AVG(o.quantity) AS avg_sales_quantity
FROM
  project.products p
JOIN
  project.product_are_made_orders po ON p.ID = po.id_products
JOIN
  project.orders o ON po.id_orders = o.ID
GROUP BY
  p.ID
ORDER BY
  avg_sales_quantity DESC;
Note: See TracWiki for help on using the wiki.