@Night_Harpy

Почему не выводит по убыванию sql?

select DATE_FORMAT( time_reports.date, '%W'), group_concat(employees.name, ' (', x.total_hours, ' hours)' SEPARATOR  ', '  LIMIT 3)  
  from employees
  inner join time_reports on employees.id=time_reports.employee_id
  inner join 
    (
      select employee_id, round(hours,2) as total_hours 
        from time_reports group by employee_id
         ORDER BY total_hours DESC
       )x on x.employee_id=time_reports.employee_id
  group by time_reports.date


x.total_hours должно выводиться 3 максимальных значения. Limit 3 работает, а вот как сделать ORDER BY total_hours DESC что бы работало ( я поставил во второй SELECT но эффекта ноль), если ставить в самом конце, то срабатывает тогда не только на total_hours но и на DATE_FORMAT, а нужно только на total_hours
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
@MaximaXXl
select DATE_FORMAT( time_reports.date, '%W'), group_concat(employees.name, ' (', x.total_hours, ' hours)' order by x.total_hours desc SEPARATOR  ', '  LIMIT 3)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
потому что в результирующей выборке не указан явно никакой порядок сортировки да и поля такого нет вообще.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 сент. 2020, в 17:52
1000 руб./за проект
18 сент. 2020, в 17:49
500 руб./в час
18 сент. 2020, в 17:24
180 руб./за проект