Steve Jones

My background is I have been working with computers since I was about 12. My first "career" job in this industry was with network administration where I became the local DBA by default. I have also spent lots of time administering Netware and NT networks, developing software, managing smaller IT groups, making lots of coffee, ordering pizza for late nights, etc., etc.

I currently am the editor of SQL Server Central and an advocate/architect at Redgate Software. I am also the President of SQL Saturday, maintain the T-SQL Tuesday monthly party, and remember our colleagues at sqlmemorial.org.

You can find out more about me on my blog (www.voiceofthedba.com) or LinkedIn (www.linkedin.com/in/way0utwest)
  • Interests: yoga, reading, biking, snowboarding, volleyball

Blogs

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...

PowerShell (and T-SQL) and Elastic Jobs

By

I’ve covered how to create Elastic Jobs in the portal (this one is important...

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