41554 blogs · [ { "id": "01a08776-4c84-70d4-b566-96fb3a974689", "title": "Happy New Year: Lisp interpreter in SQL", "url": "https://explainextended.com/2025/12/31/happy-new-year-17/", "published_at": "2025-12-31T20:00:08+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3ac24f10", "title": "Happy New Year: Diffusion Model image generator in about 700 lines of pure SQL", "url": "https://explainextended.com/2024/12/31/happy-new-year-16/", "published_at": "2024-12-31T20:00:25+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3b01b414", "title": "Happy New Year: GPT in 500 lines of SQL", "url": "https://explainextended.com/2023/12/31/happy-new-year-15/", "published_at": "2023-12-31T20:00:59+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3b9ae0ef", "title": "Happy New Year: solving the Rubik’s Cube in SQL", "url": "https://explainextended.com/2022/12/31/happy-new-year-14/", "published_at": "2022-12-31T20:00:02+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3bcd0274", "title": "A good first word for Wordle", "url": "https://explainextended.com/2022/01/27/a-good-first-word-for-wordle/", "published_at": "2022-01-27T20:00:16+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3c4d615b", "title": "Happy New Year: quantum computer emulator in SQL", "url": "https://explainextended.com/2021/12/31/happy-new-year-13/", "published_at": "2021-12-31T20:00:19+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3cf2bb20", "title": "Happy New Year: 3D picture of the coronavirus in SQL", "url": "https://explainextended.com/2020/12/31/happy-new-year-12/", "published_at": "2020-12-31T20:00:08+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3db1e0a6", "title": "Happy New Year: a stereogram in SQL", "url": "https://explainextended.com/2019/12/31/happy-new-year-11/", "published_at": "2019-12-31T20:00:51+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3ea2444f", "title": "Happy New Year: GIF decoder in SQL", "url": "https://explainextended.com/2018/12/31/happy-new-year-10/", "published_at": "2018-12-31T20:00:10+00:00" }, { "id": "01a08776-4c84-70d4-b566-96fb3f0ed458", "title": "Happy New Year: Settlers of Catan in SQL", "url": "https://explainextended.com/2017/12/31/happy-new-year-9/", "published_at": "2017-12-31T20:00:22+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e193d4187", "title": "Happy New Year: the Sultan’s Riddle in SQL", "url": "https://explainextended.com/2016/12/31/happy-new-year-8/", "published_at": "2016-12-31T20:00:34+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e19583c93", "title": "Happy New Year: Conway’s Game of Life in SQL", "url": "https://explainextended.com/2015/12/31/happy-new-year-7/", "published_at": "2015-12-31T20:00:08+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e1a34d29c", "title": "Happy New Year: composing music in SQL", "url": "https://explainextended.com/2014/12/31/happy-new-year-6/", "published_at": "2014-12-31T20:00:19+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e1a61ccc3", "title": "SQL Server: deleting with self-referential FOREIGN KEY, handling loops", "url": "https://explainextended.com/2014/07/10/sql-server-deleting-with-self-referential-foreign-key-handling-loops/", "published_at": "2014-07-10T17:00:38+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e1a91c182", "title": "Top 5 XKCD comics which can illustrate programming questions", "url": "https://explainextended.com/2014/07/09/top-5-xkcd-comics-which-can-illustrate-programming-questions/", "published_at": "2014-07-09T16:00:16+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e1b730d35", "title": "Happy New Year: drawing fractals in SQL", "url": "https://explainextended.com/2013/12/31/happy-new-year-5/", "published_at": "2013-12-31T19:00:18+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e1c12eac2", "title": "5 Claims About SQL, Explained", "url": "https://explainextended.com/2013/10/28/5-claims-about-sql-explained/", "published_at": "2013-10-28T19:00:22+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e1cdd156a", "title": "NULL in SQL: explaining its behavior", "url": "https://explainextended.com/2013/09/27/null-in-sql-explaining-its-behavior/", "published_at": "2013-09-27T19:00:32+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e1da2e633", "title": "Did You Know You Could Index SUM() and COUNT(): SQL Server Indexed Views, Part 3", "url": "https://explainextended.com/2013/08/26/did-you-know-you-could-index-sum-and-count-sql-server-indexed-views-part-3/", "published_at": "2013-08-26T19:00:58+00:00" }, { "id": "01a0c50c-27d3-70d9-9315-553e1e0cc198", "title": "Storing a Friendship: SQL Server Indexed Views, Part 2", "url": "https://explainextended.com/2013/08/14/storing-a-friendship-sql-server-indexed-views-part-2/", "published_at": "2013-08-14T19:00:02+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-4780315ad0e9", "title": "10 things in SQL Server (which don’t work as expected)", "url": "https://explainextended.com/2013/07/19/10-things-in-sql-server-which-dont-work-as-expected/", "published_at": "2013-07-19T19:00:36+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-4780323edfed", "title": "Score charts, friendship lists and unique multiple columns: easy with SQL Server’s indexed views", "url": "https://explainextended.com/2013/06/27/score-charts-friendship-lists-and-unique-multiple-columns-easy-with-sql-servers-indexed-views/", "published_at": "2013-06-27T19:00:32+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-478032bc0e48", "title": "SQL Server: joining NULL values", "url": "https://explainextended.com/2013/05/08/sql-server-joining-null-values/", "published_at": "2013-05-08T19:00:44+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-478032c50e73", "title": "INSERT … SELECT … OUTPUT …: returning source table data", "url": "https://explainextended.com/2013/03/25/insert-select-output-returning-source-table-data/", "published_at": "2013-03-25T19:00:20+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-478033952f7f", "title": "Empty row if condition does not match", "url": "https://explainextended.com/2013/01/03/empty-row-if-condition-does-not-match/", "published_at": "2013-01-03T19:00:19+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-47803426518e", "title": "Happy New Year: view of Earth from space in SQL", "url": "https://explainextended.com/2012/12/31/happy-new-year-4/", "published_at": "2012-12-31T19:00:51+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-478034c59bd9", "title": "Happy New Year: drawing snowflakes in SQL", "url": "https://explainextended.com/2011/12/31/happy-new-year-3/", "published_at": "2011-12-31T19:00:56+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-478034ebcbbb", "title": "What’s UNPIVOT good for?", "url": "https://explainextended.com/2011/06/30/whats-unpivot-good-for/", "published_at": "2011-06-30T19:00:56+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-4780358a732f", "title": "Shared Plan and Algorithm Network Cache (SPANC)", "url": "https://explainextended.com/2011/04/01/shared-plan-and-algorithm-network-cache-spanc/", "published_at": "2011-04-01T19:00:49+00:00" }, { "id": "01a0c51b-9a11-71b3-b765-4780363b658e", "title": "MySQL: GROUP BY in UNION", "url": "https://explainextended.com/2011/03/30/mysql-group-by-in-union/", "published_at": "2011-03-30T19:00:29+00:00" }, { "id": "01a0c526-c7ae-7008-b209-311153532b20", "title": "MySQL: splitting aggregate queries", "url": "https://explainextended.com/2011/03/28/mysql-splitting-aggregate-queries/", "published_at": "2011-03-28T19:00:27+00:00" }, { "id": "01a0c526-c7ae-7008-b209-31115435d230", "title": "Things SQL needs: SERIES()", "url": "https://explainextended.com/2011/02/18/things-sql-needs-series/", "published_at": "2011-02-18T20:00:47+00:00" }, { "id": "01a0c526-c7ae-7008-b209-311154fcdca6", "title": "Late row lookups: InnoDB", "url": "https://explainextended.com/2011/02/11/late-row-lookups-innodb/", "published_at": "2011-02-11T20:00:09+00:00" }, { "id": "01a0c526-c7ae-7008-b209-311155302b09", "title": "Happy New Year: drawing clock in SQL", "url": "https://explainextended.com/2010/12/31/happy-new-year-2/", "published_at": "2010-12-31T20:00:17+00:00" }, { "id": "01a0c526-c7ae-7008-b209-3111555da3ec", "title": "PostgreSQL: parametrizing a recursive CTE", "url": "https://explainextended.com/2010/12/24/postgresql-parametrizing-a-recursive-cte/", "published_at": "2010-12-24T20:00:45+00:00" }, { "id": "01a0c526-c7ae-7008-b209-3111557dc4db", "title": "10 things in MySQL (that won’t work as expected)", "url": "https://explainextended.com/2010/11/03/10-things-in-mysql-that-wont-work-as-expected/", "published_at": "2010-11-03T20:00:48+00:00" }, { "id": "01a0c526-c7ae-7008-b209-311155fdb981", "title": "Mixed ASC/DESC sorting in MySQL", "url": "https://explainextended.com/2010/11/02/mixed-ascdesc-sorting-in-mysql/", "published_at": "2010-11-02T20:00:16+00:00" }, { "id": "01a0c526-c7ae-7008-b209-311155fdd0e0", "title": "Correlated LEFT JOIN in a subquery", "url": "https://explainextended.com/2010/10/20/correlated-left-join-in-a-subquery/", "published_at": "2010-10-20T19:00:20+00:00" }, { "id": "01a0c526-c7ae-7008-b209-31115666d608", "title": "OLAP in MySQL: four ways to filter on higher level dimensions", "url": "https://explainextended.com/2010/09/30/olap-in-mysql-four-ways-to-filter-on-higher-level-dimensions/", "published_at": "2010-09-30T19:00:44+00:00" }, { "id": "01a0c526-c7ae-7008-b209-311156d1c661", "title": "20 latest unique records", "url": "https://explainextended.com/2010/08/24/20-latest-unique-records/", "published_at": "2010-08-24T19:00:38+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f0eeb680", "title": "Questions", "url": "https://explainextended.com/2010/07/15/questions/", "published_at": "2010-07-15T19:00:25+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f1d8b58d", "title": "Indexing for ORDER BY / LIMIT", "url": "https://explainextended.com/2010/06/30/indexing-for-order-by-limit/", "published_at": "2010-06-30T19:00:34+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f26d9256", "title": "GROUP_CONCAT in SQL Server", "url": "https://explainextended.com/2010/06/21/group_concat-in-sql-server/", "published_at": "2010-06-21T19:00:49+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f309ab61", "title": "LEFT JOIN / IS NULL vs. NOT IN vs. NOT EXISTS: nullable columns", "url": "https://explainextended.com/2010/05/27/left-join-is-null-vs-not-in-vs-not-exists-nullable-columns/", "published_at": "2010-05-27T19:00:15+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f3dd38f1", "title": "Things SQL needs: determining range cardinality", "url": "https://explainextended.com/2010/05/19/things-sql-needs-determining-range-cardinality/", "published_at": "2010-05-19T19:00:51+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f4b4f2de", "title": "MAX and MIN on a composite index", "url": "https://explainextended.com/2010/05/08/max-and-min-on-a-composite-index/", "published_at": "2010-05-08T19:00:47+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f572a390", "title": "Things SQL needs: MERGE JOIN that would seek", "url": "https://explainextended.com/2010/05/07/things-sql-needs-merge-join-that-would-seek/", "published_at": "2010-05-07T19:00:53+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f590b960", "title": "Groups holding highest ranked items", "url": "https://explainextended.com/2010/04/22/groups-holding-highest-ranked-items/", "published_at": "2010-04-22T19:00:51+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f6687798", "title": "Hierarchical query in MySQL: limiting parents", "url": "https://explainextended.com/2010/04/18/hierarchical-query-in-mysql-limiting-parents/", "published_at": "2010-04-18T19:00:08+00:00" }, { "id": "01a0c532-18c2-7361-b362-a162f751d673", "title": "Date ranges: overlapping with priority", "url": "https://explainextended.com/2010/04/07/date-ranges-overlapping-with-priority/", "published_at": "2010-04-07T19:00:31+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53df9dc6ea3", "title": "Multiple attributes in a EAV table: GROUP BY vs. NOT EXISTS", "url": "https://explainextended.com/2010/04/02/multiple-attributes-in-a-eav-table-group-by-vs-not-exists/", "published_at": "2010-04-02T19:00:15+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53df9f3eaa3", "title": "NoSQL", "url": "https://explainextended.com/2010/04/01/nosql/", "published_at": "2010-04-01T09:00:46+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53dfa3180a9", "title": "Bayesian classification", "url": "https://explainextended.com/2010/03/25/bayesian-classification/", "published_at": "2010-03-25T20:00:58+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53dfabbd8dc", "title": "Greatest N per group: dealing with aggregates", "url": "https://explainextended.com/2010/03/18/greatest-n-per-group-dealing-with-aggregates/", "published_at": "2010-03-18T20:00:16+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53dfb0fe281", "title": "Aggregates and LEFT JOIN", "url": "https://explainextended.com/2010/03/05/aggregates-and-left-join/", "published_at": "2010-03-05T20:00:09+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53dfbe36946", "title": "SQL Server: deleting with self-referential FOREIGN KEY", "url": "https://explainextended.com/2010/03/03/sql-server-deleting-with-self-referential-foreign-key/", "published_at": "2010-03-03T20:00:45+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53dfc81a4ef", "title": "PostgreSQL: using recursive functions in nested sets", "url": "https://explainextended.com/2010/03/02/postgresql-using-recursive-functions-in-nested-sets/", "published_at": "2010-03-02T20:00:45+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53dfc82ef51", "title": "PostgreSQL: nested sets and R-Tree", "url": "https://explainextended.com/2010/03/01/postgresql-nested-sets-and-r-tree/", "published_at": "2010-03-01T20:00:04+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53dfd21992b", "title": "Six degrees of separation", "url": "https://explainextended.com/2010/02/27/six-degrees-of-separation/", "published_at": "2010-02-27T20:00:45+00:00" }, { "id": "01a0c53c-06c4-710a-8c6c-e53dfd2a4e20", "title": "Efficient circle distance testing", "url": "https://explainextended.com/2010/02/26/efficient-circle-distance-testing/", "published_at": "2010-02-26T20:00:41+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f535fddc29", "title": "Matching sets: aggregates vs. first miss", "url": "https://explainextended.com/2010/02/25/matching-sets-aggregates-vs-first-miss/", "published_at": "2010-02-25T20:00:47+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f5366a8815", "title": "Sargability of monotonic functions: example", "url": "https://explainextended.com/2010/02/23/sargability-of-monotonic-functions-example/", "published_at": "2010-02-23T20:00:25+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f536974d2e", "title": "Things SQL needs: sargability of monotonic functions", "url": "https://explainextended.com/2010/02/19/things-sql-needs-sargability-of-monotonic-functions/", "published_at": "2010-02-19T20:00:28+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f53757a827", "title": "Tags in nested sets: efficient indexing", "url": "https://explainextended.com/2010/02/16/tags-in-nested-sets-efficient-indexing/", "published_at": "2010-02-16T20:00:11+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f537f0cd08", "title": "SQL Server: EXCEPT ALL", "url": "https://explainextended.com/2010/02/10/sql-server-except-all/", "published_at": "2010-02-10T20:00:52+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f5385ea722", "title": "Index search time depends on the value being searched", "url": "https://explainextended.com/2010/02/04/index-search-time-depends-on-the-value-being-searched/", "published_at": "2010-02-04T20:00:58+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f538748b11", "title": "Searching for arbitrary portions of a date", "url": "https://explainextended.com/2010/02/02/searching-for-arbitrary-portions-of-a-date/", "published_at": "2010-02-02T20:00:13+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f538a286d0", "title": "Join on overlapping date ranges", "url": "https://explainextended.com/2010/02/01/join-on-overlapping-date-ranges/", "published_at": "2010-02-01T20:00:02+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f538ae739e", "title": "Aggregates: subqueries vs. GROUP BY", "url": "https://explainextended.com/2010/01/30/aggregates-subqueries-vs-group-by/", "published_at": "2010-01-30T20:00:14+00:00" }, { "id": "01a0c545-09f4-73c2-8d1a-97f539013881", "title": "Counting concurrent sessions", "url": "https://explainextended.com/2010/01/25/counting-concurrent-sessions/", "published_at": "2010-01-25T20:00:22+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de1e9375ca", "title": "SQL Server: running totals", "url": "https://explainextended.com/2010/01/22/sql-server-running-totals/", "published_at": "2010-01-22T20:00:18+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de1f86c9f2", "title": "Cumulative values", "url": "https://explainextended.com/2010/01/20/cumulative-values/", "published_at": "2010-01-20T20:00:19+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de1fee6939", "title": "Calculating mode", "url": "https://explainextended.com/2010/01/18/calculating-mode/", "published_at": "2010-01-18T20:00:32+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de20b31e3a", "title": "Latest visitors", "url": "https://explainextended.com/2010/01/12/latest-visitors/", "published_at": "2010-01-12T20:00:26+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de218b3647", "title": "Happy New Year!", "url": "https://explainextended.com/2009/12/31/happy-new-year/", "published_at": "2009-12-31T20:00:47+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de2222cf53", "title": "Grouping continuous ranges", "url": "https://explainextended.com/2009/12/30/grouping-continuous-ranges/", "published_at": "2009-12-30T20:00:32+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de22e2469b", "title": "Linked lists in MySQL: multiple ordering", "url": "https://explainextended.com/2009/12/29/linked-lists-in-mysql-multiple-ordering/", "published_at": "2009-12-29T20:00:37+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de23831c51", "title": "Oracle: joining timestamps and time intervals", "url": "https://explainextended.com/2009/12/28/oracle-joining-timestamps-and-time-intervals/", "published_at": "2009-12-28T20:00:20+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de2425f029", "title": "Oracle: Selecting records holding group-wise maximum", "url": "https://explainextended.com/2009/12/16/oracle-selecting-records-holding-group-wise-maximum/", "published_at": "2009-12-16T20:00:37+00:00" }, { "id": "01a0c54d-df0c-72cf-9dee-58de24915df0", "title": "SQL Server: Selecting records holding group-wise maximum (with ties)", "url": "https://explainextended.com/2009/12/01/sql-server-selecting-records-holding-group-wise-maximum-with-ties/", "published_at": "2009-12-01T20:00:58+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a46332891f0", "title": "SQL Server: Selecting records holding group-wise maximum", "url": "https://explainextended.com/2009/11/30/sql-server-selecting-records-holding-group-wise-maximum/", "published_at": "2009-11-30T20:00:11+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a46334474d1", "title": "PostgreSQL: Selecting records holding group-wise maximum", "url": "https://explainextended.com/2009/11/26/postgresql-selecting-records-holding-group-wise-maximum/", "published_at": "2009-11-26T20:00:25+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a46340adf4c", "title": "MySQL: Selecting records holding group-wise maximum (resolving ties)", "url": "https://explainextended.com/2009/11/25/mysql-selecting-records-holding-group-wise-maximum-resolving-ties/", "published_at": "2009-11-25T20:00:46+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a4634888f98", "title": "MySQL: Selecting records holding group-wise maximum (on a unique column)", "url": "https://explainextended.com/2009/11/24/mysql-selecting-records-holding-group-wise-maximum-on-a-unique-column/", "published_at": "2009-11-24T20:00:51+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a4634d0dec8", "title": "Recursive CTE’s: PostgreSQL", "url": "https://explainextended.com/2009/11/23/recursive-ctes-postgresql/", "published_at": "2009-11-23T20:00:24+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a4635429ca0", "title": "SQL Server: are the recursive CTE’s really set-based?", "url": "https://explainextended.com/2009/11/18/sql-server-are-the-recursive-ctes-really-set-based/", "published_at": "2009-11-18T20:00:18+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a463605badc", "title": "Selecting most relevant row", "url": "https://explainextended.com/2009/11/17/selecting-most-relevant-row/", "published_at": "2009-11-17T20:00:02+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a46364f734d", "title": "Inverting date ranges: MySQL", "url": "https://explainextended.com/2009/11/12/inverting-date-ranges-mysql/", "published_at": "2009-11-12T20:00:30+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a4636c4b339", "title": "SQL Server: clustered index and ordering", "url": "https://explainextended.com/2009/11/11/sql-server-clustered-index-and-ordering/", "published_at": "2009-11-11T20:00:38+00:00" }, { "id": "01a0c556-5d92-7215-a960-0a46375c4168", "title": "MySQL: average of sums using indexes", "url": "https://explainextended.com/2009/11/10/mysql-average-of-sums-using-indexes/", "published_at": "2009-11-10T20:00:14+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e17d5523", "title": "Inverting date ranges", "url": "https://explainextended.com/2009/11/09/inverting-date-ranges/", "published_at": "2009-11-09T20:00:47+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e1836819", "title": "MySQL ORDER BY / LIMIT performance: late row lookups", "url": "https://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/", "published_at": "2009-10-23T19:00:50+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e1f4a35b", "title": "Generating row placeholders: SQL Server", "url": "https://explainextended.com/2009/10/21/generating-row-placeholders-sql-server/", "published_at": "2009-10-21T19:00:14+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e28f23e9", "title": "What is entity-relationship model?", "url": "https://explainextended.com/2009/10/18/what-is-entity-relationship-model/", "published_at": "2009-10-18T19:00:46+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e36590f8", "title": "Constraints and the optimizer in SQL Server: FOREIGN KEY", "url": "https://explainextended.com/2009/10/15/constraints-and-the-optimizer-in-sql-server-foreign-key/", "published_at": "2009-10-15T19:00:33+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e41712a5", "title": "Constraints and the optimizer in SQL Server: PRIMARY KEY and UNIQUE", "url": "https://explainextended.com/2009/10/14/constraints-and-the-optimizer-in-sql-server-unique/", "published_at": "2009-10-14T19:00:42+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e4e3f541", "title": "Running root mean square: SQL Server", "url": "https://explainextended.com/2009/10/13/running-root-mean-square-sql-server/", "published_at": "2009-10-13T19:00:45+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e585f863", "title": "Minimum and maximum on bit fields: SQL Server", "url": "https://explainextended.com/2009/10/12/minimum-and-maximum-on-bit-fields-sql-server/", "published_at": "2009-10-12T19:00:20+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e6479592", "title": "Oracle: nested SUM", "url": "https://explainextended.com/2009/10/08/oracle-nested-sum/", "published_at": "2009-10-08T19:00:46+00:00" }, { "id": "01a0c55e-90e6-71a4-ba7a-3ca9e69e41cc", "title": "IN list vs. range condition: MySQL", "url": "https://explainextended.com/2009/10/07/in-list-vs-range-condition-mysql/", "published_at": "2009-10-07T19:00:55+00:00" } ] posts Claim your blog
Back to explainextended.com
Blog · corpus.blog/blogs/explainextended.com/posts

explainextended.com

explainextended.com

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010

2009