Sto avendo un problema con il raggruppamento in SQL Server Express 2005Come gruppo da oggi solo nella colonna datetime
Ho un DATETIME COLUMN
ma voglio gruppo solo per data.
Qui il mio SQL Statement:
SELECT (u.FirstName + ' ' + u.LastName) AS [FullName],d.user_id,CONVERT(varchar,d.log_date,101) AS log_date, min(d.login_time) as LOG_IN, max(d.logout_time) as LOG_OUT, sum(d.totaltime) as TOTHrs
FROM tbldtr d INNER JOIN tblUsers u ON d.user_id = u.User_Id
WHERE d.user_id = 'ADMIN1' and d.log_date BETWEEN '6/1/2013' AND '6/15/2013'
GROUP BY DATEADD(day, DATEDIFF(day, 0, log_date), 0),u.FirstName,u.LastName,d.user_id order by d.log_date asc
ma mi dà questo errore:
Column 'tbldtr.log_date' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Grazie in anticipo.!
Soprattutto su SQL Server, [si dovrebbe non usare 'BETWEEN' con i tipi di data/ora/timestamp] (http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common.aspx). Questo in realtà si applica a tutti i valori di precisione variabile (in tutte le lingue), ma quel blog ha dettagli sui trucchi specifici di SQL Server. –