Kenneth Fisher

My name is Kenneth Fisher and I am Senior DBA for a large (multi-national) insurance company. I have been working with databases for over 20 years starting with Clarion and Foxpro. I’ve been working with SQL Server for 12 years but have only really started “studying” the subject for the last 3. I don’t have any real "specialities" but I enjoy trouble shooting and teaching. Thus far I’ve earned by MCITP Database Administrator 2008, MCTS Database Administrator 2005, and MCTS Database Developer 2008. I’m currently studying for my MCITP Database Developer 2008 and should start in on the 2012 exams next year. My blog is at https://sqlstudies.com/.

Blog Post

Perspective

I recently passed the second anniversary of the start of my stay in the hospital. A lot has happened since ... Continue reading

2022-07-28

25 reads

Blogs

The hell of Git line endings and the (not so) simple fix

By

I wrote a stream-of-consciousness post a few months ago about what I do in...

Creating a GitHub Actions Self-Hosted Runner

By

I had to demo the Flyway Autopilot system recently and created a GitHub Actions...

Migrating from Azure PG Single Server to Flex with Azure VM and pg_dump/restore

By

This is more complicated than using the Azure Migration method, but because it’s maxed...

Read the latest Blogs

Forums

The Rank Window

By Steve Jones - SSC Editor

Comments posted to this topic are about the item The Rank Window

The End of Azure Data Studio

By Steve Jones - SSC Editor

Comments posted to this topic are about the item The End of Azure Data...

How to Develop Solutions with Fabric Data Warehouse: Data Engineering with Fabric

By John Miner

Comments posted to this topic are about the item How to Develop Solutions with...

Visit the forum

Question of the Day

The Rank Window

I have this table and data:

CREATE TABLE [dbo].[SalesTracking]
(
[SalesDate] [datetime] NULL,
[SalesPersonID] [int] NULL,
[CustomerID] [int] NOT NULL,
[PONumber] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[paid] [bit] NULL
) ON [PRIMARY]
GO
CREATE CLUSTERED INDEX [SalesTrackingCDX] ON [dbo].[SalesTracking] ([SalesDate]) ON [PRIMARY]
GO
INSERT dbo.SalesTracking
  (SalesDate, SalesPersonID, CustomerID, PONumber, paid, total)
VALUES
  ('2024-03-15 10:45:55.067', 1, 1,'PO965' ,1, 100),
  ('2023-09-24 10:45:55.067', 1, 2,'PO627' ,1, 200),
  ('2022-07-02 10:45:55.067', 1, 3,'PO6'   ,1, 300),
  ('2022-11-03 10:45:55.067', 1, 4,'PO283' ,1, 400),
  ('2022-11-26 10:45:55.067', 1, 5,'PO735' ,1, 500),
  ('2023-04-28 10:45:55.067', 1, 6,'PO407' ,1, 600),
  ('2022-09-09 10:45:55.067', 1, 7,'PO484' ,1, 700),
  ('2024-03-13 10:45:55.067', 1, 8,'PO344' ,1, 700),
  ('2024-04-24 10:45:55.067', 1, 9,'PO254' ,1, 800),
  ('2022-06-19 10:45:55.067', 1, 10,'PO344',1, 800)
GO
When I run this query, how many unique values are returned for the SaleRank column?
SELECT
  st.SalesDate
, st.SalesPersonID
, st.total
, RANK () OVER (PARTITION BY st.SalesPersonID
                ORDER BY st.total desc) AS SaleRank
FROM dbo.SalesTracking AS st;

See possible answers