SELECT ??? :-( MySQL

venerdì 21 gennaio 2005 - 14.52

LeonDom Profilo | Senior Member

Ho questo piccolo problema:

ho una tabella con i seguenti campi:

data (date yyyy-mm-dd)
ora_1 (time hh:mm:ss)
ora_2 (time hh:mm:ss)

Devo tirare fuori il numero di record in base alle seguenti fasce:

8:00:00-12:00:00
12:00:01-16:00:00
16:00:01-20:00:00

LeonDom

LeonDom Profilo | Senior Member

Vi posto questa SELECT che funziona:

SELECT count(*)AS Record,Data FROM
(
SELECT DISTINCT data, ora_1,ora_2
FROM `tabdati`
WHERE ora_1 BETWEEN '08:00:00' AND '12:00:00'
ORDER BY data
)
AS NUMERO
GROUP BY data

Mi restituisce il numero di record per ogni data che ci sono in quella fascia... a questo punto devo conoscere le altre fasce orarie...

Devo farlo da Codice???
Possibile che non c'è un modo in SQL???

LeonDom

SuperSasch2004 Profilo | Newbie

prova a guardare qui
http://dev.mysql.com/doc/mysql/en/DATETIME.html

che il manuale on-line di mysql ...

LeonDom Profilo | Senior Member

Per la comunità ho trovato questo modo per farlo senza utilizzare le funzioni DateTime:

SELECT Count(Conteggio), Conteggio FROM
(
SELECT *,
CASE
WHEN ora_ini <= '12:00:00' Then "1Fascia"
WHEN ora_ini BETWEEN '12:00:01' AND '15:59:59' Then "2Fascia"
WHEN ora_ini > '23:59:59' Then "3Fascia"
END
AS Conteggio
FROM tabdati
ORDER BY Conteggio DESC
)
AS newAlias
GROUP BY Conteggio

Ce l'ho fattaaaa!!!!!!!!!! :-)
I Conteggi sonno esatti.... qualcuno di voi ha altre idee'???

LeonDom


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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5