testing

External Article

Masking Data in Practice

  • Article

Phil Factor takes a strategic look at common SQL data masking techniques, and the challenges inherent in masking certain types of sensitive and personal data, while ensuring that it still looks like the real data, and retains its referential integrity, and distribution characteristics.

2021-01-11

External Article

Solving the Provisioning Problem in Database Development using Clones

  • Article

When database development is described, the details often get vague when the data gets beyond spreadsheet-size. There is 'hand-waving' talk of providing databases for each developer, but little detail of how you would provision all the databases that would be needed, at the correct version and with the correct development data, and then keep them all in sync with the source code, as developers commit changes. This article explains the requirements, and how SQL Clone can meet them.

2020-09-28

Blogs

Enterprise Digital Exhaust

By

Digital exhaust, or data exhaust, is the information you generate as you interact digitally....

Monday Monitor Tips: VLF Alerts

By

A recent change made to Redgate Monitor to add a new alert for VLF...

Using T-SQL Snapshot Backup - Seeding Availability Groups

By

In this post, the fifth in our series, I want to illustrate an example...

Read the latest Blogs

Forums

Why use Tally Tables in the Fabric Warehouse? Data Engineering in Fabric

By John Miner

Comments posted to this topic are about the item Why use Tally Tables in...

Why Not Use AI?

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Why Not Use AI?

The Rank Window II

By Steve Jones - SSC Editor

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

Visit the forum

Question of the Day

The Rank Window II

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
, DENSE_RANK () OVER (PARTITION BY st.SalesPersonID
                ORDER BY st.total desc) AS SaleRank
FROM dbo.SalesTracking AS st;

See possible answers