2010-05-18 27 views
16

Como dice el título, yo quería una solución para este ...MySQL Subconsulta LÍMITE

SELECT 
    comments.comment_id, 
    comments.content_id, 
    comments.user_id, 
    comments.`comment`, 
    comments.comment_time, 
    NULL 
FROM 
    comments 
WHERE 
    (comments.content_id IN (SELECT content.content_id FROM content WHERE content.user_id = 1 LIMIT 0, 10)) 

Saludos

Respuesta

18
SELECT comments.comment_id, 
     comments.content_id, 
     comments.user_id, 
     comments.`comment`, 
     comments.comment_time, 
     NULL 
FROM (
     SELECT content.content_id 
     FROM content 
     WHERE content.user_id = 1 
     LIMIT 10 
     ) q 
JOIN comments 
ON  comments.content_id = q.content_id 

es probable que desee añadir una ORDER BY en la consulta anidada.

+1

Gracias por esta ... Bueno, otra cosa ... ¿Hay alguna manera de LIMITAR los comentarios a 2 por content_id? –

+0

@ atif089: sí, mira este artículo: http://explainextended.com/2009/03/06/advanced-row-sampling/ – Quassnoi

+0

gracias por el enlace ... ¿no sería demasiado pesado? Como estoy usando esto para un sitio web de redes sociales por encargo –