Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1

    [MySQL] Uso di DISTINCT

    Ho questa query:
    SELECT * FROM schede WHERE (id>0) & (stato='y') & (nome!='') ORDER BY data DESC LIMIT 0,7

    ma vorrei che tutti gli 8 risultati avessero il campo "nome" differente gli uni dagli altri.
    Ho provato usando il DISTINCT dopo la SELECT, ma è illogico. Come posso fare?
    Grazie.

    ciauz,
    Ale


    PS: la mia versione di MySQL è la 3.23.46
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  2. #2
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Dipende dai dati che ti servono insieme a nome (select * non è molto esplicativo), cmq in linea di massima potresti usare la clausola 'GROUP BY nome'.

  3. #3
    dunque mi servono "id", "categoria", "nome", "data" e "prov".
    queste sono le colonne di cui ho bisogno.
    La query serve a PHP per creare una lista di questo tipo:
    CATEGORIA - NOME - PROVINCIA
    "Data" serve per verificare che siano i dati più recenti, e id serve per il link che viene applicato a ogni stringa generata.
    Quello che mi serve in questo caso è che in tutti e 8 i casi la stringa NOME sia diversa.
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  4. #4
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Ok per i campi, ma come sono relazionati tra loro?

    Ad esempio hai situazioni del tipo
    codice:
    nome  | categoria
    fabio | php
    fabio | mysql
    Se si, quale voce vorresti tra 'php' e 'mysql'?

    Un consiglio:
    Non fare SELECT * se ti servono solo alcuni campi, risparmi a digitare, ma sprechi memoria.

  5. #5
    non ti seguo...
    cmq se clicchi nel primo link della mia firma e guardi proprio sotto a "ELENCO COMPLETO ANNUNCI CREATIVI" nel corpo della pagina, forse capisci qual'è il mio problema...
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  6. #6
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Ho capito cosa intendi, ma non mi viene in mente nessun metodo immediato per risolvere il tuo problema, se mi viene te lo posto.

  7. #7
    ok grazie, intanto approfitto per uppare, così magari qualcun'altro mi nota il post e magari ha un'idea!

    ciauz,
    Ale
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  8. #8
    Anzi inserisco uno screenshot per spiegarmi meglio:

    Vorrei evitare una situazione come questa dove si visualizzano annunci con nomi uguali.
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  9. #9
    Considerando che hai la versione 3.x dovresti usare una tabella temporanea. In pratica selezioni tutti i ricord ordinati per data DESC, dopo di che fai un SELECT sulla tabella temp raggruppando per nome.

    In questo modo sei sicuro che prendera' solo un nome (il primo che trova) ma ordinato per data piu' recente.

    Se ti serve ti posso postare le due query.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    ho capito il funzionamento...
    ma se mi posti le query capisco meglio

    GRAZIE come sempre caro
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

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.