Chapter 8. Statistics in SQL

The recipes in this chapter show you how to effectively use SQL for common statistical operations. While SQL was never designed to be a statistics package, the language is quite versatile and holds a lot of hidden potential when it comes to calculating the following types of statistics:

  • Means, modes, and medians

  • Standard deviations

  • Variances

  • Standard errors

  • Confidence intervals

  • Correlations

  • Moving averages

  • Weighted moving averages

In spite of the fact that you can use SQL to generate statistics, it is not our intention to promote SQL as the best language for that purpose. As in any other situation, a strong dose of common sense is necessary. If you need a fast, easy-to-use tool for quick analysis of an existing data set, then the concepts presented in this chapter may prove quite helpful. However, if you need to perform a broad and thorough statistical analysis, you may be better off loading an extract of your database data into a specialized statistics package such as SPSS or GNU R.


Statistical calculations often yield values with many digits to the right of the decimal point. In this chapter, we’ve rounded all such values to two decimal digits. Thus, we will show a result of 672.98888888893032 as 672.99.

Statistical Concepts

Statistics is an interesting branch of mathematics that is becoming more important in the business world. To fully understand the recipes in this chapter, you’ll need to have some grasp of statistics. You also need to understand the ...

Get Transact-SQL Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.