Chris Yates

Chris Yates is a Database Administration Manager with over thirteen years of experience in the SQL industry. His experience includes design and implementation of both OLTP and OLAP solutions as well as assessment and implementation of SQL Server environments for best practices, performance, and high availability solutions accompanied by a strong development background. He enjoys helping others in the SQL Server community and does this by contributing on several SQL forums, creating “The SQL Professor”, and speaking at several SQL functions. His passion and focus is not only with technology but also helping others along their way and career path.

Blog Post

AI Innovation in Microsoft Keynote

I’m thrilled to be covering the Microsoft Keynote: Fuel AI Innovation with Azure Databases on Day 1 of the PASS Data Community Summit. Data is the driving force behind innovation, powering...

2024-11-18 (first published: )

155 reads

Blog Post

How Can Data Empower Leaders

Using data effectively, leaders can make better decisions, drive innovation, and inspire trust. What is leadership through data? Leadership that utilizes data is the ability to use data as...

2024-03-13 (first published: )

184 reads

Blogs

Dealing with Changing Data Formats: Schema Drift in Azure Data Factory

By

(2025-Feb-12) I will jump straight to the problem statement without a "boring" introduction, which, in...

Adding Manual Relationships Between Tables in the TDM Subsetter

By

I wrote about getting the Redgate Test Data Manager set up in 10 minutes...

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

Read the latest Blogs

Forums

ROWID in MS SQL

By tizma

WHERE a.ROWID IN (SELECT rid FROM ( SELECT ROWID rid, row_number() OVER (PARTITION BY...

ROWID in MS SQL

By tizma

How to rewrite a query in MS SQL, please? WHERE a.ROWID IN (SELECT rid...

SQL Server backup to Azure Storage Account

By NickDBA

Hi Does anybody know if it is possible to run a backup from a...

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,
[total] int
) 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 SalesRank 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