[SQL SERVER 2005] SELEZIONARE I CAMPI PER OGNI GIORNO

giovedì 29 novembre 2007 - 09.31

M@LKAV Profilo | Junior Member

Buongiorno io ho una tabella di storico prezzi con questi campi

product_code,bid,ask,last_update

ho un simulatore di prezzi che ogni tre secondi mi genere un record per ogni prodotto

ora vorrei fare una selezione di questa tabella

dato un product_code

devo tirare fuori un valore per giorno quindi

10101,23/11/2007
10101,24/11/2007
10101,25/11/2007
10101,26/11/2007

come posso fare?? se faccio la DISTINCT del campo LAST_UPDATE giustamente lui mi tira fuori piu record dello stesso giorno perche da distinzione anche con ora e minuti..
consigli?

grazie
Malkav

lbenaglia Profilo | Guru

>come posso fare??

Ciao Malkav,

posta un esempio completo con la struttura della tabella (CREATE TABLE), alcune righe di prova (INSERT INTO) ed il risultato che vorresti ottenere con quei dati.

>grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

M@LKAV Profilo | Junior Member

TABELLA FEEDET_STORICO

PRODUCT_CODE INT
BID FLOAT
ASK FLOAT
LAST_UPDATE DATETIME


tre volte al secondo viene inserito un campo da un simultatore di prezzi

PRODUCT_CODE LAST_UPDATE BID ASK
------------ ----------------------- ---------------------- ----------------------
10101 2007-10-18 12:04:38.447 1,3539 1,3551
10101 2007-10-18 12:04:39.447 1,354 1,3568
10101 2007-10-18 12:04:40.430 1,3539 1,3555
10101 2007-10-18 12:04:41.430 1,3538 1,3542
10101 2007-10-18 12:04:42.447 1,3537 1,3544
10101 2007-10-18 12:04:43.430 1,3538 1,3547
10101 2007-10-18 12:04:44.430 1,3539 1,3548
10101 2007-10-18 12:04:45.430 1,3538 1,3541
10101 2007-10-18 12:04:46.430 1,3539 1,3566
10101 2007-10-18 12:04:47.430 1,354 1,3574
10101 2007-10-18 12:04:48.430 1,3539 1,3545
10101 2007-10-18 12:04:49.430 1,354 1,3552
10101 2007-10-18 12:04:50.430 1,3539 1,355
10101 2007-10-18 12:04:51.430 1,354 1,3572
10101 2007-10-18 12:04:52.430 1,3541 1,3582
10101 2007-10-18 12:04:53.430 1,354 1,355
10101 2007-10-22 16:46:23.077 1,3381 1,3445
10101 2007-10-22 16:47:43.170 1,3384 1,3389
10101 2007-10-22 16:48:43.110 1,3388 1,3413
10101 2007-10-22 16:48:44.110 1,3389 1,3417
10101 2007-10-22 16:49:21.080 1,3392 1,344
10101 2007-10-22 16:49:22.080 1,3391 1,3395

e cosi via per ogni giorno!!!

io ora vorresi fare estrazione dove dato il product_code una data di inizio e una data di fine
mi restituisca un record per giorno quindi in questo caso:


10101 2007-10-18 1,3384 1,3389
10101 2007-10-22 1,3388 1,3413


ma nn so come fare poiche se faccio una distinct(last_update) lui da la distinzione anche di ore e minuti quindi mi
restituisce per ogni giorno piu record

lbenaglia Profilo | Guru

>io ora vorresi fare estrazione dove dato il product_code una
>data di inizio e una data di fine
>mi restituisca un record per giorno quindi in questo caso:
>
>
>10101 2007-10-18 1,3384 1,3389
>10101 2007-10-22 1,3388 1,3413

Perché? Mi sta bene raggruppare per codice prodotto e data, ma quali valori di bid e ask ti aspetti?
I massimi? I minimi? Una media? La somma? I primi? Gli ultimi?...
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5