मैं SQL सर्वर एक्सप्रेस में समूहीकरण के साथ समस्या हो रही है में DATE द्वारा समूह 2005कैसे केवल स्तंभ datetime
मैं एक DATETIME COLUMN
है, लेकिन मैं केवल तिथि के अनुसार यह समूह करना चाहते हैं।
यहाँ मेरी एसक्यूएल कथन:
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
लेकिन यह मुझे इस त्रुटि दे: अग्रिम में
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.
धन्यवाद।!
विशेष रूप से SQL सर्वर पर, [आप BETWEEN' दिनांक/समय/टाइमस्टैम्प प्रकार के साथ प्रयोग नहीं करना चाहिए '] (http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common.aspx)। यह वास्तव में _all_ चर-सटीक मानों (सभी भाषाओं में) पर लागू होता है, लेकिन उस ब्लॉग में SQL सर्वर के विशेष गॉथस पर विवरण है। –