Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250

    MYSQL ORDER date BY RANGE

    Buongiorno a tutti,
    ho una lista di opere (500) con una data di creazione (campo int a 4 cifre)
    devo raggruppare ler opere per data di creazione ad intervalli di 10 anni.
    Esempio:
    2000-2010
    2010-2020
    ecc..
    ho provato questa query:

    "SELECT CONCAT((FLOOR(`anno`/10))*10,'-',((FLOOR(`anno`/10))*10)+10) `anno2`, COUNT(*) tot FROM opere GROUP BY anno2 ORDER BY anno2"

    ma mi escono gli anni doppi, anche se uso GROUP
    Dove sbaglio?

  2. #2
    2001-2010
    2011-2010

    non accavallare chiusure e aperture

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    Quote Originariamente inviata da optime Visualizza il messaggio
    2001-2010
    2011-2010

    non accavallare chiusure e aperture
    Hai ragione... però in ogni caso con questa query:
    SELECT CONCAT((FLOOR(`anno`/10))*10,'-',((FLOOR(`anno`/10))*10)+9) `anno2`, COUNT(*) tot FROM opere GROUP BY anno2 ORDER BY anno2

    mi da questo risultato:

    anno2 tot
    1990-1999 1
    2000-2009 1
    2000-2009 559
    2000-2009 1
    2010-2019 1
    2010-2019 1
    2010-2019 2
    2010-2019 1
    2010-2019 1


    Perchè il group non funziona?!?

  4. #4
    Ciao,

    fossi in te userei questo strumento online http://sqlfiddle.com/
    per creare le table e le insert con i dati semplificati per riprodurre il tuo problema
    così chi vorrà potrà provare senza l'onere di doversi ricostruire la tua situazione

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Prova cosi :

    Codice PHP:
    select anno2sum(tot)
    (
    SELECT CONCAT((FLOOR(`anno`/10))*10,'-',((FLOOR(`anno`/10))*10)+9) `anno2`, COUNT(*) tot FROM opere GROUP BY anno2 ORDER BY anno2
    tabella
    group by anno2 order by anno2 
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.