Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie SQL wybierające z użyciem złączeń, grupowania i funkcji agregujących

Nie możesz tego zrobić WHERE inc_amount=max(inc_amount) w klauzuli WHERE użyj HAVING lub zrób to w warunku dołączenia, spróbuj zamiast tego:

SELECT 
  e.emp_id, 
  e.inc_date,
  t.TotalInc, 
  t.MaxIncAmount
FROM salary_increase AS i
INNER JOIN emp_table AS e ON i.emp_id=e.emp_id
INNER JOIN
(
   SELECT 
     emp_id,
     MAX(inc_amount)     AS MaxIncAmount, 
     COUNT(i.inc_amount) AS TotalInc
   FROM salary_increase
   GROUP BY emp_id
) AS t ON e.emp_id = t.emp_id AND e.inc_amount = t.MaxIncAmount;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernacja nie przestrzega pola klucza podstawowego auto_increment MySQL

  2. Implementacja algorytmu ray-castingu w MySQL?

  3. Pobierz mySQL MONTH(), aby używać wiodących zer?

  4. Pojedyncze zapytanie Mysql dołącz do 3 tabeli i uzyskaj wszystkie wyniki

  5. Co dokładnie oznacza zestaw znaków i sortowanie?