Given relational schema:

Emp(e_title, street, city)

Works_for(e_title, company_title, salary)

Company(company_title, city)

Handles(e_title, manager_title)

Query: Find the organization with maximum no of employees.

My try:

SELECT company_name, max(count(e_name))
FROM Works_for
GROUP BY company_name

^This provides a mistake: Not really a single group-group function. What's the right query with this?

Just help!

As you have the table maximum you should use ORDER BY ... DESC LIMIT 1:

SELECT company_name, COUNT(e_name) AS cnt
FROM Works_for
GROUP BY company_name
ORDER BY cnt DESC
LIMIT 1

Update

Without needing LIMIT it isn't so enjoyable:

SELECT MAX(company_name)
FROM
(
    SELECT company_name AS company_name
    FROM Works_for
    GROUP BY company_name
    HAVING COUNT(*) = (
        SELECT MAX(cnt) FROM
        (
            SELECT COUNT(e_name) AS cnt
            FROM Works_for
            GROUP BY company_name
        ) T1
    )
) T2

Try:

SELECT company_name, count(e_name) count 
FROM Works_for 
GROUP BY company_name 
ORDER BY count desc

Then just grab the very best one

To avoid limit, you could utilize a getting clause:

SELECT company_name, count(e_name)
FROM Works_for
GROUP BY company_name
HAVING count(e_name) = (
  SELECT max( count(e_name) )
  FROM Works_for
  GROUP BY company_name );

However , limit is really a simpler option!