Advanced T-SQL: Replacing Slow Cursors with Window Functions
This article looks at replacing a cursor with a window function to improve performance.
2026-08-03
6,842 reads
This article looks at replacing a cursor with a window function to improve performance.
2026-08-03
6,842 reads
Introduction When developers first learn SQL aggregation, they usually start with the GROUP BY clause. It works well for summary reports because it combines multiple rows into a single result for each group. For example, you can calculate total sales per region or average salary per department. The limitation of GROUP BY appears when you […]
2026-06-05
4,530 reads
SQL Server 2022 brought powerful new T-SQL functions that eliminate long-standing workarounds. This article walks through five of the most impactful additions — GENERATE_SERIES, GREATEST/LEAST, DATE_BUCKET, the WINDOW clause, and IS NOT DISTINCT FROM — with practical code examples you can use immediately.
2026-05-29
7,205 reads
2026-05-22
568 reads
I’ve used SQL window functions for years, but I’ve never fully understood framing. To truly master window functions, you need at least a basic grasp of framing and how to apply it to your queries. Framing is especially helpful when working with aggregate functions. How can you overcome this hesitation to try framing?
2025-12-26
A look at window functions in SQL and how they can be used to query data without the restrictions of a GROUP BY.
2025-09-12
7,341 reads
2025-02-26
494 reads
2025-02-12
584 reads
2024-10-30
507 reads
2024-10-23
463 reads
By Steve Jones
No, I’m not quitting or retiring. Just going on vacation, but I leave tonight...
By Steve Jones
I caught this interesting item over on Pinal Dave’s blog: Eleven Interview Questions that...
Comments posted to this topic are about the item Building a SQL Server Fleet...
Comments posted to this topic are about the item Smart AI Agents and Data...
Comments posted to this topic are about the item RegEx Functions IV
I have this data in a table in a SQL Server 2025 database:
EmailAddressID EmailAddress 7 [email protected] 8 [email protected]If I run this query, which row(s) are returned?
SELECT top 10 * FROM person.EmailAddress WHERE REGEXP_LIKE(EmailAddress, '^D', 'i') AND BusinessEntityID IN (7,8)See possible answers