Visualizzazione risultati 1 fino 8 di 8

Discussione: Ordinare query per campo elaborato

  1. #1
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito Ordinare query per campo elaborato

    Salve a tutti,

    quello che mi serve è trovare una clausola ORDER BY di SQL giusta per quello che mi serve.

    Ho una tabella del genere:
    • Nome squadra
    • Punti
    • Vinte
    • Pareggiate
    • Perse
    • Gol fatti
    • Gol subiti


    Ora mi serve estrarre i dati dal DB in ordine di differenza reti, campo che non esiste, ma è elaborabile da gol fatti - gol subiti.


    Come faccio?



    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Hai provato semplicemente con
    Codice:
    SELECT * FROM squadra ORDER BY goal_fatti - goal_subiti
    L'unico possibile ostacolo si presenta quando entrambi i campi sono UNSIGNED: se la differenza fosse negativa, si verificherebbe un overflow. Per ovviare al problema (non usare campi UNSIGNED, oppure) usa no unsigned subtraction.

  3. #3
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Sì infatti i campi sono di tipo UNSIGNED, ora però vorrei capire meglio come fare l'azione specificata nel link che hai postato.

    Come si dà quel comando?


    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    È una query, puoi eseguirla allo stesso modo in cui esegui le altre.
    L'effetto "dura" solo per la connessione corrente, non è permanente.

  5. #5
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Quindi la query va eseguita ad ogni chiamata del file php, e posso metterla all'inizio dello script, subito dopo la connessione a mysql. Dico bene?



    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  6. #6
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Sì, direi di sì.

  7. #7
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Inanzitutto grazie per la soluzione, inoltre vorrei sapere se è possibile impostare questa cosa in modo permanente se sono amministratore del server mysql.


    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  8. #8
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Devo dire di non aver mai provato, ma in mysql-setting-sql-mode-permanently e How to make sql-mode [...] permanent in MySQL my.cnf il suggerimento è di impostare l'opzione sql-mode nei file di configurazione del server:
    Codice:
    sql-mode="NO_UNSIGNED_SUBTRACTION";

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •