MySQL: Cómo volver a escribir como un elemento Seleccionar 'y' a continuación, utilizando esto más adelante, en un comunicado, donde

Arco Iris:

Así que lo que estoy tratando de hacer es esto, pero esto no funciona:

Select count(staffno)as total_staff,avg(salary),branchno
From staff
Where total_staff > 1
Group by branchno

He aquí otro ejemplo:

Select salary,salary*1.015 as proposed_salary
From staff
Where proposed_salary > 50000
GMB:

No se puede utilizar una expresión agregada ( sum(), count(), ...) de la wherecláusula de la consulta. Esta cláusula se evalúa antes de filas se agrupan por la group bycláusula, por lo que los agregados no está disponible todavía.

En SQL, ese es el propósito de la havingcláusula:

select count(staffno) as total_staff, avg(salary), branchno
from staff
having count(staffno) > 1 -- MySQL also allows "total_staff > 1"
group by branchno

En cuanto a la segunda consulta: el alias se define en la selectcláusula no está disponible en la wherecláusula o bien (por la misma razón que el anterior). Se puede repetir la expresión:

select salary, salary * 1.015 as proposed_salary
from staff
where salary * 1.015 > 50000

O puede utilizar una tabla derivada (CTE o subconsulta):

select *
from (
    select salary, salary * 1.015 as proposed_salary
    from staff
) t
where proposed_salary > 5000

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=373268&siteId=1
Recomendado
Clasificación