Visualizzazione dei risultati da 1 a 4 su 4

Discussione: group by (mysql)

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    112

    group by (mysql)

    io ho una tabella in mysql su cui sono presenti degli annunci per un'agenzia...ogni annuncio ha una macrozona e una microzona che chiaramente sono correlate fra loro (ogni macrozona ha le sue specifiche microzone)
    devo fare una query dove elenco tutte le microzone possibili e dove devo stampare anche il numero di righe per ogni microzona che ricevo...

    esempio mettiamo che l'utente selezioni la macrozona 1 che può ammettere la microzona a, b, c, d, e
    io faccio una query alla tabella dicendo
    SELECT * FROM tabella WHERE macrozona = '1'
    e dovrei stampare i risultati in questo modo

    a = 3
    b = 5
    c = 0
    d = 2
    e = 4

    quindi dovrei prima selezionare le righe con le macrozone giuste, all'interno dei risultati separare le microzone e contare quante righe ho per ogni microzona...

    come posso fare? pensavo ad un group by ma non so come funziona e soprattutto poi non so come contare le righe di ogni microzona...

  2. #2
    codice:
    Select count(*),macrozona,microzona from tabella
    where macrozona = 1
    group by macrozona,microzona
    Byez.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    112
    grazie per la risposta...

    ho provato ma mi restituisce solo il numero della microzona a...le altre non me le conta oppure ho capito male io

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ti conviene usare 2 tabelle strutturare così:

    tabella macrozone
    id|macrozona

    tabella microzone
    id|id_macrozona|microzona

    la query sarà di questo tipo per avere i risultati in funzione della macrozona:
    "SELECT * FROM macrozone
    INNER JOIN microzone ON macrozone.id= microzone.id_macrozone
    WHERE macrozone.id = 1;"

    e di questo tipo per avere il numero di microzone presenti dentro una macrozona:
    "SELECT COUNT(microzone.id) FROM macrozone
    INNER JOIN microzone ON macrozone.id= microzone.id_macrozone
    WHERE macrozone.id = 1;"
    think simple think ringo

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.