2011-03-24 10 views
37

¿Hay alguna forma en MySQL de obtener las primeras 10 filas distintas de una tabla?Seleccione las primeras 10 filas distintas en mysql

es decir algo como ...

SELECT TOP 10 distinct * 
FROM people 
WHERE names='SMITH' 
ORDER BY names asc 

Sin embargo este método no funciona en realidad, ya que da el error: "Error de sintaxis falta operador en expresión de consulta distinta *."

Respuesta

80
SELECT DISTINCT * 
FROM people 
WHERE names = 'Smith' 
ORDER BY 
     names 
LIMIT 10 
+0

+1. Hola Quassnoi. Quiero agradecerle por la gran calidad de su blog. Soy tu fan. :) –

+0

@nick: gracias! – Quassnoi

+0

Eso es todo. Gracias. – Urbycoz

-1

Prueba esto SELECT DISTINCT 10 * ...

+2

TOP no es compatible con MySQL http://dev.mysql.com/doc/refman/5.0/en/select.html – HadleyHope

+0

Está usando MS SQL pensé? El problema es el pedido –

+0

Eso es lo que puse ... SELECT DISTINCT TOP 10 * [rest of sql] –

4
SELECT * 
FROM people 
WHERE names ='SMITH' 
ORDER BY names asc 
limit 10 

Si necesita añadir cláusula group by. Si busca a Smith, debería ordenar algo más.

Cuestiones relacionadas