У меня проблема с моими запросами в postgre sql. Первый запрос:Postgre: 2 разных запроса, но тот же результат
SELECT first_name, last_name, service_name, max(usluga)
FROM (SELECT first_name, last_name, service_name,
count(scheduler_scheduleevents.id) as usluga
FROM workers_workers
LEFT JOIN scheduler_scheduleevents
ON scheduler_scheduleevents.worker_id = workers_workers.id
AND is_start_time = True
AND is_active = False
AND (scheduler_scheduleevents.date < %s
or (scheduler_scheduleevents.date = %s and time < %s))
LEFT JOIN user_settings_userservices
ON user_settings_userservices.id =scheduler_scheduleevents.service_type_id
WHERE workers_workers.salonid_id= %s
AND scheduler_scheduleevents.worker_id = %s
GROUP BY workers_workers.id, service_name
) as x
GROUP BY x.first_name, x.last_name, x.service_name
И Второе:
SELECT first_name, last_name, service_name, min(usluga)
FROM (SELECT first_name, last_name, service_name,
count(scheduler_scheduleevents.id) as usluga
FROM workers_workers
LEFT JOIN scheduler_scheduleevents
ON scheduler_scheduleevents.worker_id = workers_workers.id
AND is_start_time = True
AND is_active = False
AND (scheduler_scheduleevents.date < %s
or (scheduler_scheduleevents.date = %s and time < %s))
LEFT JOIN user_settings_userservices
ON user_settings_userservices.id =scheduler_scheduleevents.service_type_id
WHERE workers_workers.salonid_id= %s
and scheduler_scheduleevents.worker_id = %s
GROUP BY workers_workers.id, service_name
) as x
GROUP BY first_name, last_name, service_name
Первый запрос должен дать мне только один сервис, который был сделан больше времени и второй запрос должен дать мне тоже только один сервис, который был сделан наименее раз. Проблема заключается в том, что оба запроса дают мне одинаковые результаты: список всех служб и количество раз, сколько было сделано.
Это большое спасибо. Я должен узнать, как работает функция: P – Patryk