2011-08-28 7 views
6

Durante la creazione di una pagina dei dettagli di esempio, ho semplicemente bloccato una situazione davvero confusa. Quello che io in realtà voglio fare è come questo:php e mysql ottengono i dati per anno e data! struttura del tavolo?

+----------------------------------------------------+ 
+ Year | Month | Date  | Total Gain + 
+----------------------------------------------------+ 
+ 2003 | January | 26/01/2003 | +90 %    + 
+ 2003 | January | 27/01/2003 | +10 %    + 
+ 2003 | Feburary| 01/02/2003 | -29 %    + 
+ 2003 | Feburary| 15/02/2003 | +0.52 %   + 
+----------------------------------------------------+ 

Quello che in realtà voglio è che posso elencare i nomi del mese e dell'anno saggio come mysql_query('SELECT month FROM mytable WHERE year="2003"');

Ma il problema è che mostra gennaio due volte. Voglio visualizzare gennaio una volta e un link accanto ad esso che porterà alla pagina successiva. Questo mostrerà le statistiche di gennaio.

+0

Puoi condividere la struttura della tabella? –

risposta

4

penso quello che stai cercando è DISTINCT interrogazione, cioè

SELECT DISTINCT year, month FROM mytable 
+0

SÌ, è quasi arrivato, ma mostrerà solo il nome del mese, come questa query mysql_query (SELECT DISTINCT month FROM mytable) e cosa succede se voglio mostrare il nome del mese e il nome dell'anno come nella tabella Month/Year, usando questo query sto solo assumendo il nome del mese, ma non posso ottenere il nome dell'anno in quanto sono specificamente mirato al mese! – Ahsan

+2

Distinct visualizzerà gli stessi risultati dalla data e il guadagno totale sono diversi. –

+1

Bene, devi descrivere meglio ciò che vuoi ottenere, non è chiaro per me adesso ... – ain

5

Forse si dovrebbe utilizzare una clausola GROUP BY e calcola il tuo guadagno totale pure.

(Dal momento che la struttura della tabella non è specificato, mi immagino qui)

SELECT `Year`, `Month`, SUM(gain) AS 'Total Gain +' FROM table GROUP BY month, year; 
+2

questo mi ha aiutato anche :) – Ahsan

+0

@ Ahsan Grande che tu abbia ottenuto la tua risposta ma sono confuso - la mia risposta è stata corretta o quella di BookOfZeus (che hai contrassegnato come accettata ora)? – ain