ho alcuni ordini in una tabella e l'ultima data ordine del 2011 è 20 dicembreSQL Server restituisce settimana inaspettato numero
sto usando un comando SQL per calcolare il numero di ordini in una settimana:
SELECT CONVERT(VARCHAR(3),DATENAME(week,convert(datetime,order_date,103))) AS week,
COUNT(1) as orders
FROM order_table
where DATENAME(YEAR,convert(datetime,order_date,103)) = '2011'
GROUP BY CONVERT(VARCHAR(3),DATENAME(week,convert(datetime,order_date,103)))
order by week asc
mi restituisce il alcuni dei seguenti risultati:
Week | Orders
41 | 42
42 | 110
43 | 115
...
...
51 | 155
52 | 15
il problema di questo è che è l'ultima data ordine del 2011, come detto, che ho è 20 Dicembre 2011, che non può essere noi ek 52 così deve essere la settimana 51.
Ho alcune altre statistiche (su un altro sistema, non su SQL server) che mi danno alcune altre cifre e l'ultima settimana su di esso è 51 che non ho alcun dubbio è corretta. Quindi ci saranno delle domande se le persone guarderanno entrambe!
Qualcuno ha qualche idea o sa come ordinare questo?
Grazie,
trovato questo interessante per il 2012 .. http://wiki.answers.com/Q/How_many_weeks_in_the_year_2012 –
@WilliamDwyer il link non è corretto. Iso_week è determinato dal numero di giovedì dell'anno. Quindi una settimana (dal lunedì alla domenica) dove giovedì è il secondo giovedì dell'anno è considerata la settimana 2. –