Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2011, 08:30
Avatar de claus0618
claus0618
 
Fecha de Ingreso: noviembre-2008
Ubicación: USA
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Optimizar consulta SQL

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 original
  1. SELECT name, cnt
  2. FROM (SELECT COUNT(t.user_id) cnt, u.name
  3. FROM tasks t INNER JOIN users u ON u.id=t.user_id
  4. GROUP BY t.user_id) AS copy_table
  5. WHERE cnt > 1

Hay alguna manera de mejorar esta solución? Muchas gracias.