Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. [mysql] ordinare in base alla completezza del record
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • M
      mirkoagrati User Attivo • ultima modifica di

      Ciao DarioMarco,
      penso che ti basti usare l'operatore ORDER BY:
      [php]
      select * from tab1
      order by field1, field2, filed3
      [/php]Ciao

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • D
        dariomarco User Attivo • ultima modifica di

        Grazie Mirko, ma purtroppo, i records hanno tanti campi, e vorrei dare un valore in base alla completezza del campo.
        Sentivo in rete che si possono utilizzare i condizionali nelle query sql, ma non so come usarli, magari se qualcuno potrebbe postarmi qualche tutorial.

        ciao.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • M
          mirkoagrati User Attivo • ultima modifica di

          Ciao DarioMarco,
          mi sembra che le strutture condizionali a cui ti riferisci non siano SQL standard.

          Ogni DB ha il suo linguaggio proprietario.

          Penso dovresti fare riferimento ai documenti ufficiali della piattaforma che utilizzi.

          Ciao

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            Ciao DarioMarco,

            Fai un if nella query ed incrementi un campo virtuale se il campo non è vuoto, e poi ordini in base a quel numero. Ovviamente se i campi sono tanti ti toccherà fare tanti if.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • D
              dariomarco User Attivo • ultima modifica di

              Ok, grazie, va già meglio, non è un problema fare tante if 😄
              vorrei chiederti per cortesia se potresti farmi un piccolo esempio, anche con uno/due campi

              grazie, ciao.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                thedarkita ModSenior • ultima modifica di

                Eccoti un esempio con 2 campi:
                [php]
                SELECT *,if(campo1 != '', 1, 0) AS c1,if(campo2 != '', 1, 0) AS c2 FROM tabella ORDER BY (c1+c2) DESC
                [/php]
                Dovrebbe funzionare.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • D
                  dariomarco User Attivo • ultima modifica di

                  OH! finalmente qualcosa di concreto!!! Grazie!!!
                  solo che non ho capito una cosa:

                  campo1 != '', 1, 0

                  campo1 - nome del campo
                  1 - assegna un valore
                  0 - ???

                  Grazie, ciao.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    thedarkita ModSenior • ultima modifica di

                    La sintassi dell if è:
                    [php]
                    if(condizione, vero, falso)
                    [/php]
                    Allora come ti dicevo prima è per fare un campo virtuale, il campo sarebbe importanza del record.
                    Noi controlliamo se il campo1 non è uguale a niente incrementiamo l'importanza di 1, e quindi nell'ordinamento verrà preso prima degli altri con:
                    [php]
                    ORDER BY (c1+c2) DESC
                    [/php]
                    Spero di essere stato chiaro, è più facile a farsi che a dirsi. 😄

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • D
                      dariomarco User Attivo • ultima modifica di

                      Pui dirlo forte!!!
                      Sei stato chiarissimo grazie!!!

                      Ciao.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • T
                        thedarkita ModSenior • ultima modifica di

                        Figurati.
                        Se hai problemi chiedi pure.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • D
                          dariomarco User Attivo • ultima modifica di

                          Beh, già che ci sono ne approfitto 😄
                          volevo chiederti: ma se allungo un pò la query, non allungo anche il tempo di esecuzione dell script?

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • T
                            thedarkita ModSenior • ultima modifica di

                            Dipende da come viene "allungata", ovviamente una soluzione del genere dovrebbe impiegare anche più tempo di un altro tipo di ordinamento.
                            Poi bisogna vedere quanti record ci sono nella tabella.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • D
                              dariomarco User Attivo • ultima modifica di

                              I records sono tanti, ed anche gli if da fare... ma ho provato a testare il tempo di esecuzione su phpmyadmin e comunque si tratta di millesimi di secondi...
                              Questa è un'ottimo pregio di mysql, ma ho visto la documentazione, ed è molto interessante, non si ferma al semplice sql, ma va anche alla creazione di funzioni vere e proprie nonchè ad usare le regExp.
                              Mi chiedevo se esisteva una documentazione anche non ufficiale in italiano.

                              Grazie, ciao.

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • T
                                thedarkita ModSenior • ultima modifica di

                                In italiano c'è poco e niente, purtroppo credo dovrai fare affidamento a testi in inglese.

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                Caricamento altri post
                                Rispondi
                                • Topic risposta
                                Effettua l'accesso per rispondere
                                • Da Vecchi a Nuovi
                                • Da Nuovi a Vecchi
                                • Più Voti