Sto tentando di selezionare la somma totale dell'ordine ($) e il conteggio delle fatture su un periodo di 5 giorni in una singola query. Tuttavia, non riesco a capirlo. La query corrente che ho è qui ...Utilizzo DATE_ADD MySQL, intervallo di 5 giorni
SELECT
COUNT(id) as invoice_count,
SUM(orderTotal) as orders_sum,
UNIX_TIMESTAMP(created) as created
FROM ids_invoice
WHERE DATE_ADD(created, INTERVAL +1 DAY)
AND userId = 23 LIMIT 5'
io non sono del tutto sicuro DATE_ADD è la funzione giusta che sto cercando.
Attualmente mi sto ....
Array (
[0] => Array (
[invoice_count] => 420
[orders_total] => 97902.90
[created] => 1252596560
)
)
Array (
[0] => Array (
[invoice_count] => 68
[orders_total] => 14193.20
[created] => 1262900809
)
)
Mi piacerebbe avere qualcosa di più simile ...
Array (
[0] => Array (
[invoice_count] => 18
[orders_total] => 4902.90
[date] => 04-19-2010
)
)
Array (
[0] => Array (
[invoice_count] => 12
[orders_total] => 5193.20
[date] => 04-20-2010
)
)
Sono abbastanza nuovo per funzioni di data mysql quindi forse Ho appena perso la funzione di cui avevo bisogno quando passavo attraverso i documenti mysql.
UPDATE Ho aggiornato la mia domanda ... Questo ancora non tirare una riga per ogni giorno che ci fossero le fatture per. Stanno solo prendendo le fatture dal 19 quando ci sono fatture dal 20 che soddisfano i criteri userId.
SELECT
COUNT(id) as invoice_count,
SUM(orderTotal) as orders_sum,
UNIX_TIMESTAMP(created) as created
FROM ids_invoice
WHERE
created BETWEEN "2010-04-19 00:00:00" AND DATE_ADD("2010-04-19 00:00:00", INTERVAL +5 DAY) AND
userId = 17
E 'possibile per me per ottenere i valori di default per tutte le figure che non esistono entro i tempi indicati? – Webnet
@Webnet: è necessario un elenco di date che coprono l'intervallo desiderato, a SINISTRA UNISCITI sulla tabella 'IDS_INVOICE' in base alla data e al valore' created'. MySQL non ha subquerying ricorsivo - puoi creare una tabella di numeri, o usare un'impostazione CROSS JOIN per ottenere il calcolo della data che ti serve. –
Capisco la logica di quello che stai dicendo, ha perfettamente senso. Stai dicendo che ho bisogno di 'SELEZIONARE COUNT (id) come conto delle fatture DA ids_invoice LEFT JOIN ids_invoice DOVE CREATO TRA NOW() E DATE_ADD (NOW(), INTERVAL 5 DAY)' Sono sicuro che è ovvio .... ma non sono sicuro della sintassi di ciò di cui stai parlando. – Webnet