Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    45

    Interrompere SELECT quando viene raggiunto un determinato valore

    Salve a tutti, sto provando a fare una query per recuperare i commenti da un database, ho inserito un counter che aumenta ogni volta che un nuovo commento viene trovato (escludendo le risposte), vorrei sapere se è possibile interrompere il SELECT quando il counter raggiunge un certo valore x

    query
    codice:
    SELECT *,commenti.id as this_id, 
    if(commenti.commento_padre = "0", @rownum := @rownum, @rownum := @rownum + 1) as counter 
    FROM commenti 
    cross join (select @rownum := 0) r 
    ORDER BY IF(commento_padre = "0", id, commento_padre), id
    risultato
    034cd1cafb0cbcacd8d7eeabc622f07e.png

  2. #2
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da cactua Visualizza il messaggio
    Salve a tutti, sto provando a fare una query per recuperare i commenti da un database, ho inserito un counter che aumenta ogni volta che un nuovo commento viene trovato (escludendo le risposte), vorrei sapere se è possibile interrompere il SELECT quando il counter raggiunge un certo valore x

    query
    codice:
    SELECT *,commenti.id as this_id, 
    if(commenti.commento_padre = "0", @rownum := @rownum, @rownum := @rownum + 1) as counter 
    FROM commenti 
    cross join (select @rownum := 0) r 
    ORDER BY IF(commento_padre = "0", id, commento_padre), id
    risultato
    034cd1cafb0cbcacd8d7eeabc622f07e.png
    Io separerei. Usa il PHP per contare.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    45
    Se uso il php per contare vanifico il mio obbiettivo, non far cercare al db cose inutili

  4. #4
    Quote Originariamente inviata da cactua Visualizza il messaggio
    Salve a tutti, sto provando a fare una query per recuperare i commenti da un database, ho inserito un counter che aumenta ogni volta che un nuovo commento viene trovato (escludendo le risposte), vorrei sapere se è possibile interrompere il SELECT quando il counter raggiunge un certo valore x

    query
    codice:
    SELECT *,commenti.id as this_id, 
    if(commenti.commento_padre = "0", @rownum := @rownum, @rownum := @rownum + 1) as counter 
    FROM commenti 
    cross join (select @rownum := 0) r 
    ORDER BY IF(commento_padre = "0", id, commento_padre), id
    risultato
    034cd1cafb0cbcacd8d7eeabc622f07e.png
    Se il DB è MySQL usa LIMIT
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    45
    Se metto limit considera pure le risposte, a me serve che consideri solo i commenti

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    45
    Quote Originariamente inviata da darkhero Visualizza il messaggio
    Se interroghi la tabella commenti perchè considera le risposte? c'è un errore di logica nelle tabelle allora. In ogni caso distingui in qualche modo (magari mettendo un campo in più con valore 0 o 1 se è risposta o commento) e usa LIMIT.
    Nella tabella commenti ci sono pure le risposte

  7. #7
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Aggiungi un campo contatore dei soli commenti, con Id inferiore al tuo record

    Dopo puoi usare .... WHERE contatore < x

    .

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.