Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL заявка за избор с помощта на функции за присъединяване, групиране по и агрегатиране

Не можете да направите това WHERE inc_amount=max(inc_amount) в клаузата where, или използвайте HAVING или го направете в условието на присъединяване, опитайте това вместо това:

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. Как мога да изчистя блокиране на транзакция?

  2. Трябва да получа списъка с потребители, на които преди това е изпратено съобщение (MySQL)

  3. Как да моделирам приятелски отношения

  4. ИЗБЕРЕТЕ много до много таблици в една заявка

  5. Проверете дали съществува колона в MySQL таблицата чрез PHP