Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Esiste una query che può fare questo?

15 views
Skip to first unread message

Mago Maverick a

unread,
Feb 19, 2014, 10:26:30 AM2/19/14
to
Salve,
stavo ragionando se si riusciva ad ottenere in mysql con una query un risultato di questo tipo.

Ammettiamo di avere una tabella di questo tipo
DATA . Campo1 . Campo2 . Campo3 . Campo4
01/01/2014 . 0 . 10 . 0 . 0
10/02/2014 . 23 . 0 . 0 . 0
11/02/2014 . 0 . 0 . 15 . 14
21/03/2014 . 0 . 12 . 0 . 0

quindi un campo data e altri campi, che possono avere un valore oppure 0 (o magari NULL se è più comodo).

con una query vorrei avere la situazione più aggiornata per ogni campo
ad esempio senza limiti di date nella tabella sopra dovrebbe venire

DATA . Campo1 . Campo2 . Campo3 . Campo4
21/03/2014 . 23 . 12 . 15 . 14

cioè per ogni campo il dato diverso da 0 più aggiornato.
Ovviamente filtrando per date ad esempio DATA between '01/01/2014' and '10/02/2014' verrebbe

DATA . Campo1 . Campo2 . Campo3 . Campo4
10/02/2014 . 23 . 10 . 0 . 0

Secondo voi è possibile?

pfm...@gmail.com

unread,
Mar 4, 2014, 5:42:35 AM3/4/14
to
ciao

ho preso il tuo esempio
e per velocità l'ho messo in MsAccess

SELECT Max(Tabella.Data) AS MaxDiData, Max(Tabella.Campo1) AS MaxDiCampo1, Max(Tabella.Campo2) AS MaxDiCampo2, Max(Tabella.Campo3) AS MaxDiCampo3
FROM Tabella

ottieni il primo risultato

se aggiungi
WHERE (((Tabella.Data) Between #1/1/2014# And #2/10/2014#));

ottieni il secondo risultato

Mago Maverick a

unread,
Jul 30, 2014, 8:21:40 AM7/30/14
to
Si il tuo ragionamento va benissimo, purtroppo mi sono dimenticato di precisare una cosa.
Facendo come dici te prende sempre il massimo, ma io stavo pensando al più aggiornato, cioè in una tabella simile dove
al 1/1/2014 nella colonna 1 c'era 20
e al 1/3/2014 nella colonna 1 troviamo 10

il più aggiornato è 10.

per la data ok, tanto l'ultima sarà sempre la più alta, ma per gli altri campi non è sempre così.

Se le quantità crescessero sempre allora andrebbe bene.
0 new messages