Grant Fritchey

Grant Fritchey is a SQL Server MVP with over 20 years’ experience in IT including time spent in support and development. Grant has worked with SQL Server since version 6.0 back in 1995. He has developed in VB, VB.Net, C# and Java. Grant has authored books for Apress and Simple-Talk, and joined Red Gate as a Product Advocate in January 2011. Find Grant on Twitter @GFritchey or on his blog as the Scary DBA.

SQLServerCentral Editorial

Joining a Community

In the last week I've been actively trying to join the PostgreSQL community. It's been an interesting experience. I suspect it's going to stay interesting for a while. As part of what I'm doing, I saw this excellent video from Ryan Booz, talking about joining a new community. It got me to thinking. You have […]

You rated this post out of 5. Change rating

2022-02-12

73 reads

Blog Post

Two Clustered Indexes?

Everyone knows that you only get a single clustered index, right? Wouldn’t it be great though if you could have two clustered indexes? Well, you can. Sort of. Let’s...

2022-01-31 (first published: )

448 reads

SQLServerCentral Editorial

Model Good Behavior

I'm answering a question in the forums and I spot something that crawls up my spine: ;WITH... The person was using a Common Table Expression (CTE) which requires that the preceding statement in the batch have a statement terminator, the semi-colon. However, since the terminator isn't required everywhere, lots of people don't use it at […]

(3)

You rated this post out of 5. Change rating

2022-01-29

142 reads

Blog Post

Why Is “WHERE 1=0” Slow?

I saw a question the other day, questioning why they’re creation of temporary tables was so slow. What they were doing was (a much more complicated version of) this:...

2022-01-24 (first published: )

905 reads

Blog Post

Identifying Recompile Causes

Strictly speaking, a recompile isn’t really a performance tuning problem. In fact, a lot of time, recompiles are desired because they reflect changes in statistics which are likely to...

2022-01-12 (first published: )

282 reads

SQLServerCentral Editorial

Where the World Takes You

We're launching into a new year and there are lots of "looking into the future" articles out there. Personally, I'm pretty jazzed for the coming year for any number of reasons (can you say "SQL Server 2022"?). However, I also get a little retrospective at times like this. Now, I'm not going to talk about […]

You rated this post out of 5. Change rating

2022-01-08

176 reads

SQLServerCentral Editorial

Tell Your Loved Ones You Care

The Data Platform community lost a couple of people this week. Euan Garden and Dean Vargas. These were good people. They're going to be sorely missed. While I wanted to say something profound about them, I don't think I can do them justice. They were both simply good. The kind of people you want to […]

(1)

You rated this post out of 5. Change rating

2021-12-18

218 reads

Blogs

The Book of Redgate: Profits

By

Redgate is a for-profit company. We look to make money by building and selling...

Session Materials for Techorama & DataGrillen 2026

By

I’ve uploaded the slides for my Techorama session Microsoft Fabric for Dummies and my...

Stop Using Pandas for Aggregations — Try DuckDB Instead

By

If you've ever loaded a 2 GB CSV into pandas just to run a...

Read the latest Blogs

Forums

Even When You Know What You're Doing, You Can Screw Up

By Grant Fritchey

Comments posted to this topic are about the item Even When You Know What...

The New Software Team

By Steve Jones - SSC Editor

Comments posted to this topic are about the item The New Software Team

Database Mail in SQL Server 2022

By Abdellateef Ibrahim

Comments posted to this topic are about the item Database Mail in SQL Server...

Visit the forum

Question of the Day

The string_agg function

We create the following table and then insert some records in it:

create table t1 (
   id int primary key,
   category char(1) not null,
   product varchar(50)
);

insert into t1 values
(1, 'A', 'Product 1'),
(2, 'A', 'Product 2'),
(3, 'A', 'Product 3'),
(4, 'B', 'Product 4'),
(5, 'B', 'Product 5');
What happens if we execute the following query in both Sql Server and PostgreSQL?
select id, 
category, 
string_agg(product, ';')
                 over (partition by category order by id
                 rows between unbounded preceding and unbounded following) as stragg
from t1;

See possible answers