Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Series
Database
PART 20
PostgreSQL Aggregate, Array and Conditional Functions: FILTER, Ordered string_agg/array_agg, unnest, ANY/ALL, COALESCE and GREATEST
In PostgreSQL, FILTER (WHERE ...) gives each aggregate its own condition, and with no rows every aggregate except count returns NULL, not an empty array. Ordered string_agg, array_agg and jsonb_agg, median and percentiles, unnest and array operators, a GIN index that works with @> but not with = ANY, an IN list that is really = ANY, the NULL trap of NOT IN, and how GREATEST treats NULL differently across dialects.
15 Nov 2026
14 min
13
Backend
PART 10
Arrays in C#: Single and Multidimensional, Jagged, Index and Range
Arrays in C#: declaring them and their default values, why an array is a reference type and how to copy one properly, multidimensional and jagged arrays, the methods of the Array class, Index and Range from C# 8, and why a Range creates a copy.
7 Nov 2026
10 min
35