Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Number of rows direttamente da query

    Ammettendo di avere una tabella tipo questa:

    codice:
    CREATE TABLE `students` (
      `id` smallint(5) unsigned NOT NULL auto_increment,
      `name` varchar(54) default NULL,
      `vote` tinyint(4) default NULL,
      PRIMARY KEY  (`id`));
    e questi dati:

    codice:
    insert into students (name, vote) values
    ("luigi", 10),
    ("nicola", 2),
    ("mimmo", 4),
    ("luigi", 4),
    ("gennaro", 8),
    ("gennaro", 3),
    ("luigi", 2),
    ("mimmo", 3);
    E una query come questa:

    codice:
    select count(*)
    from students
    group by name;
    Come potrei sapere, direttamente da quella query (raggruppando quindi per name, e senza l'utilizzo successivo della funzione mysql_num_rows()), il numero delle righe che mi saranno restituite?!

    Grazie!

    Ps. Giustifico la richiesta:
    puo capitare che possa servire una query simile e mi sia necessario sapere il numero dei risultati per effettuare, ad esempio, la paginazione. Effettuare prima la query e controllare il numero di righe richiede tantissimo tempo se i risultati sono migliaia...

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    SELECT SQL_CALC_FOUND_ROWS * FROM tabella
    WHERE condizione
    LIMIT 10

    questa query ti restituirà solo 10 righe, ma al contempo calcola quante ne sarebbero uscite senza LIMIT

    Se in seguito esegui

    SELECT FOUND_ROWS()

    Ti restituisce il dato che ti interessa.

    Mi pare che sia disponibile dalla 4.0

  3. #3
    Originariamente inviato da luca200
    SELECT SQL_CALC_FOUND_ROWS * FROM tabella
    WHERE condizione
    LIMIT 10

    questa query ti restituirà solo 10 righe, ma al contempo calcola quante ne sarebbero uscite senza LIMIT

    Se in seguito esegui

    SELECT FOUND_ROWS()

    Ti restituisce il dato che ti interessa.

    Mi pare che sia disponibile dalla 4.0
    interessante...

  4. #4
    Grazie, proverò e ti farò sapere, se funziona è utilissima.

  5. #5

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 © 2024 vBulletin Solutions, Inc. All rights reserved.