all groups > sql server programming > may 2007 >
You're in the

sql server programming

group:

GROUP BY


GROUP BY someone NO[at]SPAM js.com
5/11/2007 5:13:50 PM
sql server programming: hi, I have date field and I want to group by it in weekday, and hour,
For example:

Mon Tue Wed Tur Fri Sat Sun
1 am 3 1 2 5 3 0 2
2 am 1 2 2 5 3 0 2
.....

how to do that? Thanks.


Re: GROUP BY David W
5/11/2007 5:36:21 PM
SELECT Count(*),
DATEPART(weekday, my_date),
DATEPART(hour, my_date)
FROM MyTable
GROUP BY DATEPART(weekday, my_date),
DATEPART(hour, my_date)
ORDER BY DATEPART(weekday, my_date),
DATEPART(hour, my_date)

Re: GROUP BY David Portas
5/11/2007 10:32:41 PM
[quoted text, click to view]

Here's one method (untested)

WITH t AS
(SELECT dt,
LEFT(DATENAME(DW,dt),3) DayOfWeek,
DATEPART(HOUR,dt) AS HourOfDay
FROM tbl
GROUP BY dt,
LEFT(DATENAME(DW,dt),3),
DATEPART(HOUR,dt))
SELECT HourOfDay, Mon, Tue, Wed, Thu, Fri, Sat, Sun
FROM t
PIVOT (
COUNT(dt)
FOR DayOfWeek IN (Mon, Tue, Wed, Thu, Fri, Sat, Sun)
) AS pvt;

--
David Portas, SQL Server MVP

Whenever possible please post enough code to reproduce your problem.
Including CREATE TABLE and INSERT statements usually helps.
State what version of SQL Server you are using and specify the content
of any error messages.

SQL Server Books Online:
http://msdn2.microsoft.com/library/ms130214(en-US,SQL.90).aspx
--

Re: GROUP BY someone NO[at]SPAM js.com
5/14/2007 11:37:16 AM
Thanks David,
how to run teh pivot query in my sql 2000 server?

[quoted text, click to view]

AddThis Social Bookmark Button