Cerco di ottenere il valore massimo di una selezione mysql, ma voglio che sia nullo/vuoto/0 se c'è una riga che non contiene la data/ora.MySQL restituisce il valore massimo o null se una colonna non ha valore
statistiche da tavolo (simplyfied):
ID CLIENT ORDER_DATE CANCEL_DATE
1 5 1213567200
2 5 1213567200
3 6 1210629600 1281736799
4 6 1210629600 1281736799
5 7 1201042800 1248386399
6 7 1201042800
7 8 1205449200 1271282399
Ora sto cercando di ottenere la data di ordine più basso (nessun problema, come non è mai vuota), e il massimo si annullano data. Se il cliente ha già cancellato la sua iscrizione, la data di cancellazione è piena, ma se è ancora attiva, non vi è alcuna data di cancellazione.
Query:
SELECT ID, min(ORDER_DATE) AS OD, max(CANCEL_DATE) AS CD FROM stats GROUP BY CLIENT
Returns:
ID OD CD
5 1213567200 // fine
6 1210629600 1281736799 // fine
7 1201042800 1248386399 // Should be empty
8 1205449200 1271282399 // fine
non riesco a capire come tornare vuoto/0/NULL se ce n'è uno (o più) colonne vuote per un cliente . Ho anche provato con i campi NULL.
Grazie per qualsiasi suggerimento.
non so se sarà più veloce del mio, penso che potrebbero essere equivalenti, ma è una buona idea :) +1 – fthiella
Anche lavorando. Molte grazie. Era in giro per ore, ma non aveva questa semplice soluzione. La velocità è: 0,06 secondi per le righe ~ 6k. Quindi un po 'più veloce della soluzione di fthiella – Yenky