Questione : Perché ottengo un numero errato?

Dato il codice e la base di dati allegati, avevo pensato ottenere una stampa “da max_number: 10„. Invece ottengo “il max_number: 9„. Può chiunque di voi guru di MySQL spiegarmi quello per? class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
>< notpretty " del class= " del id= " codeSnippet959781 del
No connection.

"); il @mysql_select_db ($db) o muore (“

Can non collegarsi„. $db. „.

"); $SQL = “max PRESCELTO (numero) come max_number dalla tabella DOVE data = “2010-09-04„ E posto = “Kranen„ E <= 29 di numero„; $ret = mysql_query ($SQL); se (! $ret) {eco (mysql_error ()); } altrimenti { mentre ($row = mysql_fetch_array ($ret)) { $max_number = $row [“max_number„]; max_number di eco “: $max_number„; }} ? >
class= " lastRow del
>Attachments " di nome " del class= del class= " valore " del
il

class= " fileInfo " del
il title= " " di nome di schedario del class= " di db.gif il class= (7 KB)  Javascript " del href= " " dei attachmentDetails del class= di (tipo di lima particolari)  
class= " descrizione " del
Stampa dalla parte relativa di database
target= " _blank " " del href= " /images/340309/db.gif " " del attachmentLink del class= di larghezza dello style= del  stampa “dello src=„ /images/t340309/db.gif„ dalla parte relativa di base di dati„/>
        </a>
        </div>
   
   il class= di </div><div
del >
class= del

Risposta : Perché ottengo un numero errato?

il vostro campo “numberi„ è molto probabile del tipo di dati varchar, in cui il max () effettivamente restituirà “9„ e non “10„

cambiare il campo al tipo di dati numerico e l'ordine così come dal max lavorerà al confronto numerico e non al confronto della stringa

potreste anche provare:

Max (yourfield + 0)
Altre soluzioni  
 
programming4us programming4us