|
|
|
|
|
by twistedpair
4763 days ago
|
|
Call me foolish, but what about the following makes it undesirable? The question didn't ask about a null case of a department with no employees. -- List employees who have the biggest salary in their departments
SELECT em.EmployeeID, em.departmentId, MAX(salary) as salary
FROM employees em
GROUP BY em.departmentId |
|
* "em.departmentId" will contain one of the distinct values from the "departmentId" column
* "salary" will contain the maximum value of the "salary" column of the table rows whose "departmentId" equals "em.departmentId" of the given result set row.
* "em.EmployeeID" will contain the value of the "EmployeeID" column of one the table rows, whose "departmentID" equals "em.departmentId" of the given result set row, but it is UNDEFINED which one. It IS NOT quaranteed to be the one whose "salary" column equals "MAX(salary)".
See here for examples of how to achieve what is actually needed: http://dev.mysql.com/doc/refman/5.0/en/example-maximum-colum...
As I said, tricky, and, judging from the difficulty level of the other questions, I suspect that the authors of the article have fallen for it themselves.