Count on Dates

I have (sample):

CREATE TABLE #Temp(ID int,OrderDate smalldatetime)
INSERT INTO #Temp (ID, OrderDate)
VALUES ('1001','3/1/2010'),

When I run:
select ID,OrderDate,CAST(CONVERT(varchar(6),OrderDate,112) as int) AS
from #temp
group by ID,OrderDate
order by ID,OrderDate desc

I get:
ID	OrderDate	               YYYYMM
1001	2010-03-23 00:00:00	201003
1001	2010-03-15 00:00:00	201003
1001	2010-03-01 00:00:00	201003
1001	2010-02-15 00:00:00	201002
1001	2010-01-10 00:00:00	201001
1001	2009-12-15 00:00:00	200912
1001	2009-12-01 00:00:00	200912
1001	2009-11-15 00:00:00	200911
1001	2009-10-15 00:00:00	200910
1001	2009-10-01 00:00:00	200910
1001	2008-10-01 00:00:00	200810
1002	2010-03-23 00:00:00	201003
1002	2010-03-15 00:00:00	201003
1002	2010-03-01 00:00:00	201003
1002	2010-02-15 00:00:00	201002
1002	2010-01-10 00:00:00	201001
1002	2009-12-15 00:00:00	200912
1002	2009-12-01 00:00:00	200912
1002	2009-11-15 00:00:00	200911
1002	2009-10-15 00:00:00	200910
1002	2009-10-01 00:00:00	200910
1002	2008-10-01 00:00:00	200810

What I need to accomplish is a count of Orders for each ID for the
past year from each YYYYMM(Year and Month), so example table would

ID	OrderDate	               YYYYMM  YearCount
1001	2010-03-23 00:00:00	201003      10
1001	2010-03-15 00:00:00	201003      10
1001	2010-03-01 00:00:00	201003      10
1001	2010-02-15 00:00:00	201002        7
1001	2010-01-10 00:00:00	201001        6
1001	2009-12-15 00:00:00	200912        5
1001	2009-12-01 00:00:00	200912        5
1001	2009-11-15 00:00:00	200911        3
1001	2009-10-15 00:00:00	200910        3
1001	2009-10-01 00:00:00	200910        3
1001	2008-10-01 00:00:00	200810        1
1002	2010-03-23 00:00:00	201003       10
1002	2010-03-15 00:00:00	201003       10
1002	2010-03-01 00:00:00	201003       10
1002	2010-02-15 00:00:00	201002        7
1002	2010-01-10 00:00:00	201001        6
1002	2009-12-15 00:00:00	200912        5
1002	2009-12-01 00:00:00	200912        5
1002	2009-11-15 00:00:00	200911        3
1002	2009-10-15 00:00:00	200910        3
1002	2009-10-01 00:00:00	200910        3
1002	2008-10-01 00:00:00	200810        1

Any ideas? I've been racking my brain for a couple hours
already...Thanks for any help...
4/26/2010 9:33:18 PM
sqlserver.programming 1873 articles. 0 followers. Follow

2 Replies

Similar Articles

[PageSpeed] 51

dm ( writes:
> I have (sample):

Tabls and sample data, thanks!
> What I need to accomplish is a count of Orders for each ID for the
> past year from each YYYYMM(Year and Month), so example table would
> be...
> ID     OrderDate                    YYYYMM  YearCount
> 1001     2010-03-23 00:00:00     201003      10
> 1001     2010-03-15 00:00:00     201003      10
> 1001     2010-03-01 00:00:00     201003      10

Here is a query:

select ID,OrderDate,
       CAST(CONVERT(varchar(6),OrderDate,112) as int) AS YYYYMM,
       (SELECT COUNT(*)
        FROM   #Temp b
        WHERE  a.ID = b.ID
          AND  convert(char(6), b.OrderDate, 112) <= 
               convert(char(6), a.OrderDate, 112)) AS YearCount
from #Temp a
group by ID,OrderDate
order by ID,OrderDate desc 

The results deviate from the expected a bit, though. 

Note that the performace of this query can be painful at large
volumes - an iterative solution may actually be faster.

Erland Sommarskog, SQL Server MVP,

Links for SQL Server Books Online:
SQL 2008:
SQL 2005:
SQL 2000:

4/26/2010 10:11:34 PM
Added an EOM column and came up with:

CREATE TABLE #Temp(ID int,OrderDate smalldatetime,EOM date)
INSERT INTO #Temp (ID, OrderDate, EOM)


declare @startDate date = (select MIN(EOM) from #temp)
declare @endDate date = (select MAX(EOM) from #temp)
declare @intDate date = @startDate
declare @table table (ID int,EOM date,Cnt int)

WHILE @intDate <= @endDate

insert into @table(ID,Cnt,EOM)
select ID,COUNT(*),@intDate
select ID,OrderDate
from #temp
where EOM between DATEADD(dd,1,DATEADD(yy,-1,@intDate)) and @intDate
group by ID

set @intDate = DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@intDate)+2,0))

select a.ID,a.OrderDate,a.EOM,b.Cnt
from #temp a
     left join (select ID,EOM,Cnt from @table)b ON a.ID = b.ID and
a.EOM = b.EOM
order by ID,EOM desc
4/27/2010 8:19:07 PM

Similar Artilces:

Pivot table and counting.
I have a pivot table that gives me the number of rides done by a van. I can have the pivot table return the number of rides, but what I need is the number vans that participated for a certain day. Example, it is possible to have 27 trips done by 18 vans, how can I count the number of vans and not addup the van number? Any help appreciated. Thank you, Joe Hi Joe We need a bit more information on how your source data table is set up. What information do you have in each column? -- Regards Roger Govier sacredarms <> wrote: > I have a pi...

Can I change date on 1 page and have it auto change on every page
In publisher I have tickets that are dated. I need to change the date before printing each time. I have 75 pages with the date listed 8 times on each page. trying to see if it is possible to change the date once and have it automatically change on every page. ...

Matching Dates
Ok guys fairly complicated one here... I have a single table with 20,000 transactions within it. Each transaction has a date attached to it. I have another table which contains 3 fields, a StartDate, a FinishDate and a WeekNumber. i.e.: startdate finishdate weeknumber 01/01/2007 08/01/2007 1 What I need to be able to do is take each transactions from the transactions table and link it to this calendar table to get the weeknumber of when each transaction occured. How on earth can I produce this? Many thanks. Ash. hi, ashg657 wrote: > Ok ...

Cycle Counting
Hello, I am looking for ideas on how to cycle count serial number tracked items without increasing workload. Our serialized items are barcoded but the problem is the are situated on the pallet incorrectly and the pallet is placed on a third level of a racking system. If we could just cycle count based on item count and not include the serial number it would make it easy. Is this possible in Great Plains. We are running Great Plains 8.0. Any suggestions are greatly aprreciated. Thank You, Brian Morris Database Administrator ...

Hi, I would like to know how which formula I should use to count some codes & to ignore the duplicated codes, for example in column A: Code 1234 4321 4321 1234 1234 3214 Now, I want Excel to count & the result is 3 which are: 1234-4321-3214 Yes I can use PivotTable, but I would like to use a formula because I have to deal with this every day. I appreciate your support. -- MFS22 COUNTIF will do it. =COUNTIF(Rng,Rng), where the criterion is the same as the range: e.g =COUNTIF(A3:A8,A3:A8) HTH Peter "MFS" wrote: > Hi, > I wo...

How do I count the # of times a value reoccurs and plot it over ti
I wish to plot a number of errors made by each users and compare it over time. I have a column of user ID's and a column of dates. I want the chart to count the number of times each user ID appears and plot against it's corresponding date. However, each time I try to do this, the chart appears wrong. Any ideas? In article <>, says... > I wish to plot a number of errors made by each users and compare it over > time. I have a column of user ID's and a column of dates. I want t...

Line count
I am working with a program called Dictaphone. We use Word 2007 in this program. The line count on Dictaphone and the line count in Word 2007 are different even though the Dictaphone text is retrieved from Word 2007. Why would they be different? What is the difference between virutal line count and physical line count? ...

count number of characters in rich edit control
How can i count number of characters in rich edit control 2 If u mean controls of type Rich TextBox control, try RichControl1 RC1; CString Mes=RC.GetText(); int n=Mes.GetLength(); "Rahul" <> wrote in message > How can i count number of characters in rich edit control 2 EM_GETTEXTLENGTHEX, WM_GETTEXTLENGTH, WM_GETTEXT, EM_STREAM* "Rahul" <> wrote in message > How can i co...

Create Formula
I need to create a formula where I add a set number of Networkdays to a start date. Example: Start Date = 1/2/07 Number of Networkdays = 21 End Date = Is calculated If Start = 1/2/07 and 21 Networkdays are added, what is the retured end date???? I can only find example of Networkdays where I would be providing the Start and End Dates, and it will calculate the Networkdays. I can't find example where End Date is calculated based on the number of networkdays from start date. Can anyone help with a valid formula for this? Thanks!! Look for =workday() in Excel's help. (Also part o...

Completion Percentage of a date range
I have started a task sheet in excel and i have a "task description" coloumn, a "start date", "finish date", "number of days" and a "% complete" column. What i want to achieve is the user to enter the first task start date and the number of days it will take to complete. Then excel will work out the end date and the percent complete field relating to the current date. Is there a easy formula of working out the percentage? Many thanks Hi Brian, I think this is right? Assume Column A is Task, B is Start Date, C is No. of Days, D is End ...

Counting sales
I have two different datasets. Each with a common identifier. I need a formula that will reference the identifiers in both datasets and count the number of sales a particular agent made. Example. look up this identifier in the other dataset and then give me the value that is 2 columns over from the identifier in the second dataset. See if this helps: -- Biff Microsoft Excel MVP "Dave" <> wrote in message >I have two...

Date range for a report
Hi I am trying to run a query and can't seem to nail down the right code. We use the access database to track files, incoming/outgoing correspondence dates etc. I am trying to run a query that show me files with dates in a follow up field of -60 days to +7 days, so essentially any follow ups missed in the last 2 months and up coming in the next week. This report is run on a weekly basis. Appreciate any help Thanks Assuming that the follow up field is actually a date/time data type, try this in the criteria: Between Date() - 60 and Date() + 7 -- Jerry Whittle, ...

Auto date range updating in Charts
I would like to know how to write a formula that can be typed into an excel chart's category labels box and series values boxes to search for and update ranges to a specific range, such as one year's worth of row entries. In this way, each time a new date and set of entries are made into the spreadsheet, the accompanying chart would update to the new range (last date). I have tried using named formulas to accomplish this, but I have so many spreadsheet in the workbook, that this becomes unwieldy. Any suggestions would be greatly appreciated. thanks, Hi Dave, > I have t...

COUNT ? need formula
Hi, I want to track the results of my teams sales performance. I record if it is a sale, no sale, cancelled etc in column M. I thought I'd be able to use the COUNT function/formula to be able to search for all the SALES in column M and place the result in a cell ( column O )but I can't work it out. Any ideas? Damian Hi! Try this: =COUNTIF(M1:M100,"sale") Biff "Diamond Jones" <> wrote in message news:43a0e897$0$17704$ > Hi, > > I want to track the results of my teams sales perf...

Counting Cells with Conditional Formatting
Is there a way to look at a row of data that is either highlighted yellow or red and to count only the data that is highlighted yellow and give me that number? None of my data is numerical....just one letter data, i.e.: "S" or "U" I just want to count how many of the cells are highlighted yellow in a specific row, if that makes more sense. Here's a UDF (Put in a Standard module) and use it in cell A1, like =CountByColor(A8:H8,6) << where 6 (at present) = Yellow = change to =CountByColor(A8:H8,3) to get the reds HTH Function CountByColor(InRa...

Comparing a date to todays date
I would like to cascade down an active workbook from the top row to the end. It could contain 10 rows or 50 rows. I want to look at the date in col C and make it RED if it's past 90 days from current date. Any idea's? Rather than programming (which refers to using visual basic to manipulate the sheet) your request can be handled by using conditional formatting. You didn't mention whether you are using 2007 or 2003; I'll provide 2003 instructions here and you can adapt them to 2007 if needed. Select the first cell (C1 or C2, depending on whether you have a ...

Count Function
I am creating a report for the number of pupils being collected at a certain collection time e.g. 14:00hr and 15:00hrs using the formula =Count([Child Last Name]) in the collection time footer However when i try to count the overall number of pupils in the footer using the same formula, 'Error' appears on screen? Thanks There are potentially a dozen footer sections in a report. Which one is giving you a problem? What is the name of the control? What is the exact formula? -- Duane Hookom Microsoft Access MVP "ELo" wrote: > I am creating a r...

Counting a count
How do I count a count?? This is what im trying to do: I have a database with a table named tblMain and has incorporated everything within that table but contains info from about 8 other tables. I have not doesigned this database and it appears to have a very poor structure...anyway There are three fields involved in this process...'Request' (either 'dispensation', 'waiver' or 'dispensation and waiver'), 'Department' (which consists of 7 other drop down menu options) and 'RequestStatus' which contains the status of each request by another...

Count Problem
Hi I have 20 cells in a single column in a sheet called "Audits" All the cells have a formula in them. The formula is a simple one that reads whatever I put into a cell on a different worksheet called "Names" ie: =Names!A1 = Names!A2 etc etc I would like to have a formula that counts up all the results I get in the sheet called "Audits" At the moment if I enter (let say) 15 names in the "Names" sheet the result is that I see the same 15 names in the "Audits" sheet, however the COUNTA formula returns a total of 20. SO obviously...

unique or distinct count from xml
How to get a unique count from a xml <Orders> <Order ID="1111" Amount="200"></Order> <Order ID= "2222" Amount="10"></Order> <Order ID="3333" Amount="5"></Order> <Order ID="1111" Amount="20"></Order> </Orders> The result should be 3 unique count and the 4 Order Id counts. How can i get using XPathNodeIterator using Compile,Execute with a XPathNavigator thanks you bhu The XPath expression for that is count(Orders/Order[not(@ID=preceding-sibling::Or...

Replace Count
I am using this routine to replace characters in a large text string. I would like to know how many replacements have been made. This is a generalized routine for experimenting. If I set lReplCount = 1, I can get a count but it takes over one minute to run. If I set lReplCount = -1, it takes about 20 mSec but I get no count (except 1). Is there any way to get speed and the replace count? I would be happy with a few seconds and an accurate count. Do If InStr(1, sText, vbCr & vbCr) > 0 Then lChangeCount = lChangeCount + 1 ...

Modifying date formulas
Hi, I have built a spread sheet and one of the things I'm measuring is targets for completion of an event, the target is measured in weeks from an entered start date to an entered completion date, I have used the following formula, based on K2 as the start date and Z2 as the completion date: =DATEDIF($K2,$Z2,"d")/7 This works fine however now I want to modify the formula to say that if the start date entered is equal to or before (<=) 31/04/2009 (39934) then use 31/04/2009 (39934) as the start date if its greater than (>) that then use the date as entered in K2, ...

Smart List record count in 10.0 SP2
Hello, I'm wondering if anyone else has seen a situation in the standard smart list for Purchase Line Items returns a different line count in the window than on the bottom of the window in the status bar. For instance, a client requested a search using the view "Today's Expected Receipts", so the window shows 4 rows, but the status bar at the bottom shows 8. The search criteria look to be the same as in my local view. Trying it in my local view, I get the same results for other views under this object, for instance the window shows 13 rows, but the status bar shows ...

Counting text cells #3
I have a range of cells A25:A256 that contain text entries of various types (doesn't matter). How do I get it in cell A258 to give me a total of cells that have text in them within that range 25:256 Thanks, Gurus Jessica =SUMPRODUCT(--(ISTEXT(A25:A256))) -- Regards, Peo Sjoblom "Jessica Walton" <> wrote in message > I have a range of cells A25:A256 that contain text entries of various types (doesn't matter). How do I get it in cell A258 to give me a total of cells that have ...

2 questions regarding count formula
If I have the following data A B C 1 Personnel group type p't number 2 Melinda 1 4 3 Sean 1 5 4 Melinda 1 6 5 Sean 2 30 6 Fay 3 8 7 Melinda 1 32 1. How shall I contruct my formula to count the number of data that satisfy the following criteria: 1. personnel is Melinda 2. group type is 1 3. ...