Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    [MySql] - Ordinare tabella

    Ciao a tutti


    Ho una tabella così costituita


    id - type - percent - date


    Supponiamo di avere i seguenti record. Per semplicità scrivo la data a lettere ma è nel formato time()


    1 - 7 - 95 - 11 maggio 2014
    2 - 9 - 80 - 20 novembre 2013
    3 - 7 - 66 - 7 aprile 2011
    4 - 3 - 82 - 27 novembre 2013
    5 - 2 - 33 - 3 gennaio 2012
    6 - 3 - 80 - 22 febbraio 2013


    vorrei ottenere per prima i record che hanno type=7, ordinati per percent decrescente e data decrescente.
    Poi tutti gli altri ordinati sempre per percent decrescente e data decrescente.


    OUTPUT:


    1 - 7 - 95 - 11 maggio 2014
    3 - 7 - 66 - 7 aprile 2011
    4 - 3 - 82 - 27 novembre 2013
    2 - 9 - 80 - 20 novembre 2013
    6 - 3 - 80 - 22 febbraio 2013
    5 - 2 - 33 - 3 gennaio 2012
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se ho capito bene, credo tu debba usare una union

    codice:
    select * from (SELECT * FROM tuaTabella where type = 7 order by percent desc, date desc)  as a
    union all
    select * from (SELECT * FROM tuaTabella where type != 7 order by percent desc, date desc)  as b;

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    Quote Originariamente inviata da clasku Visualizza il messaggio
    se ho capito bene, credo tu debba usare una union

    codice:
    select * from (SELECT * FROM tuaTabella where type = 7 order by percent desc, date desc)  as a
    union all
    select * from (SELECT * FROM tuaTabella where type != 7 order by percent desc, date desc)  as b;
    Grazie.
    La situazione mi si complica un pò perchè c'è una Join... (non l'ho segnalato perché non pensavo si dovessero fare più query)

    La mia tabella sarebbe questa

    id - type - percent - date - id_user

    la tabella USER è

    id_user - name

    Come le collego?
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    codice:
    ....
    left join user on user.id_USER = tuatabella.id_user

  5. #5
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    codice:
    ....
    left join user on user.id_USER = tuatabella.id_user
    Puoi farmela completa?

    tuatabella sarebbe la a o la b ?
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    se come output serve solo questo
    id - type - percent - date - id_user

    non è necessaria nessuna join.

    codice:
    select 
    tuaTabella.id,
    tuaTabella.type,
    tuaTabella.percent,
    tuaTabella.date,
    tuaTabella.id_user
    from tuaTabella
    where tuaTabella.type = 7 
    order by percent desc, date desc
    
    union all
    
    select 
    tuaTabella.id,
    tuaTabella.type,
    tuaTabella.percent,
    tuaTabella.date,
    tuaTabella.id_user
    from tuaTabella
    where tuaTabella.type <> 7 
    order by percent desc, date desc

    nel caso di join:

    codice:
    select 
    tuaTabella.id,
    tuaTabella.type,
    tuaTabella.percent,
    tuaTabella.date,
    tuaTabella.id_user,
    user.name
    from tuaTabella
    left join user on user.id_USER = tuatabella.id_user
    where tuaTabella.type = 7 
    order by percent desc, date desc
    
    union all
    
    select 
    tuaTabella.id,
    tuaTabella.type,
    tuaTabella.percent,
    tuaTabella.date,
    tuaTabella.id_user,
    user.name
    from tuaTabella
    left join user on user.id_USER = tuatabella.id_user
    where tuaTabella.type <> 7 
    order by percent desc, date desc

    verifica se con MySql funziona correttamente.
    Ultima modifica di 123delphi321; 25-05-2014 a 17:07

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.