Представления - это выбор операторов, не более того. Представления не могут быть несколькими операторами. Если вы не можете получить это представление до одного оператора, попробуйте здесь здесь использовать функцию или процедуру.
Попробуйте это предложение для MYSQL с использованием объединения вместо набора.
JOIN (SELECT @rank:= 0) r;
Вот пример непроверенного, я не уверен, что вы можете заказать по '#' в конце, но если вы можете, он будет сортировать все правильно по рангу:
CREATE VIEW S1_Bottom_Performer_AHT as (
SELECT @rank := @rank+1 AS '#', *
FROM
(SELECT ei.SM,
ei.TM,
es.Month_Date,
ei.emp_id,
ei.DNAME,
ei.STATUS,
ei.SHIFT,
ei.SKILL,
ei.HIRE_DATE,
ifnull(TIMESTAMPDIFF(MONTH, ei.HIRE_DATE, now()), '-') AS Tenure,
ifnull(es.Call_Handled, '-') AS Call_Handled,
ifnull(es.AHT, '-') AS AHT
FROM mtl_extended_info ei
LEFT OUTER JOIN
( SELECT es.Employee_ID,
es.Month_Date,
sum(es.Calls_Handled_Ct) AS Call_Handled,
round((sum(es.I_Talk_Time_Sec) + sum(es.Hold_Time_Sec) + sum(es.I_Work_Time_Sec) + sum(es.I_AUX_Out_Time_Sec)) / sum(es.Calls_Handled_Ct)) AS AHT
FROM cdl_agent_call_voume_gen es
WHERE es.Month_Date = '2013-09-01'
GROUP BY es.Employee_ID,
es.Month_Date ) es ON es.Employee_ID = ei.emp_id
WHERE es.Month_Date = '2013-09-01'
AND ei.Visible = 1
AND ei.SKILL != 'RSD'
GROUP BY ei.emp_id
ORDER BY es.AHT DESC LIMIT 80)
) AS RESULTS
JOIN (SELECT @rank:= 0) r;
ORDER BY '#'
Первым аргументом для полей внешнего ключа должна быть сама модель, а не строка модели (например, не «Team», а Team - аналогично для EmailTemplate)
class TestSuite(models.Model):
# Change this field's first argument from a string to the Team class
team_name = models.ForeignKey(Team, on_delete=models.DO_NOTHING, db_column='team_name')
suite_name = models.CharField(max_length=100)
description = models.CharField(max_length=200, blank=True, null=True)
schedule = models.CharField(max_length=100, blank=True, null=True)
email_list_ok = models.CharField(max_length=200, blank=True, null=True)
email_list_fail = models.CharField(max_length=200, blank=True, null=True)
# Change this field's first argument from a string to the EmailTemplates class
template_name = models.ForeignKey(EmailTemplates, on_delete=models.DO_NOTHING, db_column='template_name')
class Meta:
managed = False
db_table = 'test_suite'
unique_together = (('team_name', 'suite_name'),)