Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [MYSQL] Max e Min

  1. #1

    [MYSQL] Max e Min

    Ho questa query

    $query "Select Max(col_1) as max, Min (col_1) as min FROM table WHERE col_2 = 1;

    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result)) {
    $min = $row['min'];
    $max = $row['max'];
    }


    Anche quando non ci sono valori che rispondono ai requisiti richiesti (col_2 = 1) se faccio

    if (mysql_num_rows($result) = '0') $a = 1;
    else $a = 2;

    se stampo $a me la mette uguale a 2 invece che a 1

    la cosa bella è che $min e $max me li mette ugualmente = a null.

    Come mai?
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    if (mysql_num_rows($result) == '0') $a = 1;
    else $a = 2;

    Con un solo uguale diventa una assegnazione


  3. #3
    scusami ho sbagliato a scrivere il trhead nello script ci sono 2 uguali
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    anche perchè altrimenti sarebbe sempre uscito $a=1 e non 2.

    cmq ti darà sempre 2 perchè le righe che estrai sono 2.
    una per il max e una per il min.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da marte101
    scusami ho sbagliato a scrivere il trhead nello script ci sono 2 uguali
    perchè ti restituisce una riga con NULL per min e max.

    if (mysql_num_rows($result) == 1) $a = 1;
    else $a = 2;

    prova.

  6. #6
    Alèpeweb non capisco cosa intendi perchè le righe sono due se i non ci sono valori che nella col_2 sono = a 1 ?

    Dovrebbe estrarre 0 righe.

    Pierotto se ripeto l'esperimento con una query senza min e max tipo

    $query "Select a, b FROM table WHERE col_2 = 1;

    l'if funziona
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da pierotto
    perchè ti restituisce una riga con NULL per min e max.

    if (mysql_num_rows($result) == 1) $a = 1;
    else $a = 2;

    prova.
    Leggi bene .... ti restituisce una riga dove min = null e max = null

    Se togli min e max è scontato che rende zero righe.

  8. #8
    scusami ma non capisco...

    perchè con min e max fornisce comunque il valore null

    e con gli altri no
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da marte101
    scusami ma non capisco...

    perchè con min e max fornisce comunque il valore null

    e con gli altri no
    Prova:

    echo $num = mysql_num_rows();

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da marte101
    scusami ma non capisco...

    perchè con min e max fornisce comunque il valore null

    e con gli altri no
    "gli altri" chi sarebbero?

    min() e max() sono funzioni di aggregazione, che trasformano un insieme di valori in uno solo. Quindi restituiscono, per definizione, un valore. Che è NULL se l'insieme a cui vengono applicate è vuoto.

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.