Skip to main content

welchTTest

Introduced in: v21.1.0 Applies Welch’s t-test to samples from two populations. Values of both samples are in the sample_data column. If sample_index equals to 0 then the value in that row belongs to the sample from the first population. Otherwise it belongs to the sample from the second population. The null hypothesis is that means of populations are equal. Normal distribution is assumed. Populations may have unequal variance. Syntax
welchTTest([confidence_level])(sample_data, sample_index)
Parameters
  • confidence_level — Optional. Confidence level in order to calculate confidence intervals. Float
Arguments Returned value Returns a Tuple with two or four elements (if the optional confidence_level is specified): calculated t-statistic, calculated p-value, and optionally calculated confidence-interval-low and confidence-interval-high. Tuple(Float64, Float64) or Tuple(Float64, Float64, Float64, Float64) Examples Basic Welch’s t-test
Query
CREATE TABLE welch_ttest (sample_data Float64, sample_index UInt8) ENGINE = Memory;
INSERT INTO welch_ttest VALUES (20.3, 0), (22.1, 0), (21.9, 0), (18.9, 1), (20.3, 1), (19, 1);

SELECT welchTTest(sample_data, sample_index) FROM welch_ttest;
Response
┌─welchTTest(sample_data, sample_index)──────┐
│ (2.7988719532211235, 0.051807360348581945) │
└────────────────────────────────────────────┘
With confidence level
Query
SELECT welchTTest(0.95)(sample_data, sample_index) FROM welch_ttest;
Response
┌─welchTTest(0.95)(sample_data, sample_index)─────────────────────────────────────────┐
│ (2.7988719532211235, 0.05180736034858519, -0.026294346671631885, 4.092961013338302) │
└─────────────────────────────────────────────────────────────────────────────────────┘
See Also
Last modified on June 8, 2026