# Запрос для получения разных результатов по определенным критериям. (запрос претендента)

Пожалуйста, помогите нам решить наш главный вопрос претендента.

Название таблицы: attendance_tbl

nota_id represents present or absent nota_id ='1' => PRESENT

priod_id

1=>Hour-1 

2=>Hour-2

3=>Hour-3

4=>Hour-4

5=>Hour-5

если priod_id содержит значение 1, 2, 3 или 4, тогда в зависимости от условия мы установили процентное значение 0,25

если priod_id содержит 1, 2, 3, 4 или 5, то на основании условия мы установили процент 0,2.

если priod_id больше 4, если он имеет значение 5 в любой день, тогда мы установили процентное значение 0,2 для всех 1,2,3 и 4

если priod_id находится в 4, мы должны установить процент 0,25 для всех 1,2,3,4

Пример :

Date : 2018-08-31
priod_id =1 , priod_id =2 priod_id =5
Then set Percentage = 0.2 for 1,2,5

priod_id =1 , priod_id =2 priod_id =4
Then set Percentage = 0.25 for 1,2,4 

Please refer to the query we have tried the least.


SELECT *, 
      IF(`nota_id` = '1', Percentage,'0.0') AS ABSENT 
from (SELECT *, CASE WHEN (max(`priod_id`) > 4) THEN "0.2" 
                     ELSE "0.25" 
                END as Percentage 
      FROM `attendance_tbl` 
      WHERE DATE(attend_date) BETWEEN '2018-08-01' AND '2018-08-31' 
        AND sid = '74' 
      GROUP BY sid, attend_date) t

Таблица результатов и структура

Перефразируйте свой вопрос, указав образец входных данных и ожидаемый результат в формате текст прямо в вашем вопросе. Добавьте четыре или более пробелов в каждую строку данных, чтобы отформатировать ее как код.

Tim Biegeleisen 15.09.2018 13:00
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
1
19
1

Ответы 1

Мы нашли ответ.

ВЫБРАТЬ *,
КЕЙС КОГДА (max (priod_id)> 4) ТО «0,2» ЕЩЕ «0,25» КОНЕЦ ПРОЦЕНТОВ,
COUNT (priod_id) как ЧАСЫ, COUNT (CASE КОГДА nota_id = '1' ТО 1 КОНЕЦ) КАК PR ОТ attendance_tbl A ГДЕ ДАТА (посещаемость_даты) МЕЖДУ ДАТЫ ('2018-08-01') И ДАТой ('2018-08-31') И sid = '60' ГРУППА ПО ДАТЕ (дата_посещения)

Другие вопросы по теме