Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591

    count - risparmiare query

    ho una tabella con un campo che può essere 0 o 1.
    in una pagina ho una query che mi prende i valori per campo = 1, perchè quelli mi serve stamparli a video.
    nella stessa pagina ho un'altra query che mi conta quanti valori ho in totale su quella tabella. mi serve per le pagine successive sapere quanti record ci sono in totale..

    ci sarebbe modo, stavo cercando con count & group_by, di fare tutto con una sola query?
    cioè contare le righe sia con il campo = 0 che = 1 e avere anche i record disponibili (solo quelli con campo = 1 ) nel resultset?

    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Bisogna specificare il db utilizzato.
    Essendo un frequentatore di php immagino ti riferisca a mysql

    codice:
    select 
    sum(if(campo=0,1,0)) as zeri,
    sum(if(campo=1,1,0)) as uni,
    count(campo) as quanti
    from tabella

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    intanto grazzzzzie.. è ottimo..
    quello che volevo ottenere da questa query, sono anche i record con campo = 1, sempre se possibile.. cioè proprio stampare a video il contenuto dei campi, oltre che quanti sono..
    la vorrei spremere insomma..

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select *,(select count(*) from tabella where campo = 1) as quanti from tabella where campo = 1

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591

    SPETTACOLO PURO..
    domanda: ma quella "doppia" select, è una SUB a tutti gli effetti o si chiama in altro modo..

    grazie 100000!!!

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Sì, è una subquery a tutti gli effetti.

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    perfetto, grazie tante..

  8. #8
    anche se ormai hai risolto, per regolamento è OBBLIGATORIO inserire il nome della piattaforma del database (mysql, sqlite, postgresql, mssql, sybase, informix e via dicendo) nel titolo.

    sistemo io, ma pls maggiore attenzione
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  9. #9
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    hai ragggggionissssima..
    una scusa notturna..

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.