Buenos días. Tengo las siguientes tablas:
users
ID NAME
1 john
2 jack
3 kate
4 sawyer
tasks
ID USER_ID TITLE
1 1 mow lawn
2 2 take out trash
3 1 file taxes
4 2 wash dishes
5 1 learn ruby
6 3 groom dog
Y quiero obtener el nombre y la cantidad de tareas de los usuarios con mas de dos tareas. La solución que encuentro es:
Código SQL:
Ver originalSELECT name, cnt
FROM (SELECT COUNT(t.user_id) cnt, u.name
FROM tasks t INNER JOIN users u ON u.id=t.user_id
GROUP BY t.user_id) AS copy_table
WHERE cnt > 1
Hay alguna manera de mejorar esta solución? Muchas gracias.