/*
This is an example of a two sample t-test.
The first example follows
the
reference. The second example shows why you might want all your
values in one column if you are doing more than one test. The third
example applies the example to 96 well plates in an initial
screen in HTS were each set is a different compound at one
concentration compared to a control. In HTS you don't get this
many replicate wells so you lose out on a lot of the power of
the Central Limit Theorem. All things to consider in experimental
design.
The following reference is a clear
explanation of the mathematics
and
the interpretation of the numbers. The code examples show how
you
can calculate the numbers with some programming ideas involved.
By C. Eric Cashon
Reference:
DeMuth
J. E.,Basic Statistics and Pharmaceutical Statistical Applications,
Marcel
Dekker, NY, 1999, P.180
*/
USE
Tempdb
CREATE
TABLE tTest(TestID INTEGER NOT NULL IDENTITY,
TestSample1 REAL, TestSample2 Real)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(125, 130)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(130, 128)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(135, 127)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(126, 149)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(140, 151)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(135, 130)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(128, 141)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(121, 145)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(123, 132)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(126, 132)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(121, 141)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(133, 129)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(131, 133)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(129, 136)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(120, 138)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(117, 142)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(126, 130)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(127, 122)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(119, 129)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(133, 150)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(125, 148)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(120, 136)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(136, 138)
INSERT
INTO tTest(TestSample1, TestSample2) VALUES(122, 140)
SELECT
* FROM tTest
SELECT
AVG(TestSample1) Mean1, STDEV(TestSample1) SD1, AVG(TestSample2) Mean2,
STDEV(TestSample2) SD2 FROM tTest
--Find
S2
SELECT
(((23 * SQUARE(STDEV(TestSample1))) + (23 * SQUARE(STDEV(TestSample2))))
/ (24 + 24 - 2)) Ssquared
FROM tTest
--Get
the answer
SELECT
(AVG(TestSample1) - AVG(TestSample2)) - (2.01 * SQRT(2 *
(((23 * SQUARE(STDEV(TestSample1))) +
(23 * SQUARE(STDEV(TestSample2))))
/ (24 + 24 - 2)) / 24)),
' < Ua - Ub < ' AS Diff,
(AVG(TestSample1) - AVG(TestSample2)) +
(2.01 * SQRT(2 *
(((23 * SQUARE(STDEV(TestSample1))) +
(23 * SQUARE(STDEV(TestSample2))))
/ (24 + 24 - 2)) / 24))
FROM tTest
--Clean
up
DROP
TABLE tTest
--------------------------------------------------------------------------------
--Start
of second example.
CREATE
TABLE tTest2(TestID INTEGER NOT NULL IDENTITY PRIMARY KEY,
GroupID INTEGER, TestSample1 REAL)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 125)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 135)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 140)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 135)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 128)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 121)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 123)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 121)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 131)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 120)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 117)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 127)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 119)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 125)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 120)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 122)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 128)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 127)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 149)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 151)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 141)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 145)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 132)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 132)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 141)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 138)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 142)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 122)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 150)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 148)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 138)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(1, 140)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 125)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 135)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 140)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 135)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 128)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 121)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 123)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 121)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 131)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 120)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 117)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 127)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 119)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 125)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 120)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 122)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 128)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 127)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 149)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 151)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 141)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 145)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 132)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 132)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 141)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 138)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 142)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 122)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 150)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 148)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 138)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(2, 135) --Change from 140 to 135
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 125)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 135)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 140)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 135)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 128)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 121)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 123)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 121)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 131)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 120)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 117)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 127)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 119)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 125)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 120)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 122)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 128)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 127)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 149)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 151)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 141)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 145)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 132)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 132)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 141)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 138)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 142)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 122)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 150)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 148)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 138)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(3, 130) --Change from 140 to 130
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 125)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 135)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 140)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 135)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 128)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 121)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 123)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 121)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 131)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 120)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 117)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 126)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 127)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 119)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 125)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 120)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 122)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 128)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 127)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 149)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 151)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 141)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 145)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 132)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 132)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 141)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 133)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 138)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 142)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 130)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 122)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 129)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 150)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 148)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 136)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 138)
INSERT
INTO tTest2(GroupID, TestSample1) VALUES(4, 125) --Change from 140 to 125
SELECT
* FROM tTest2
--Compare
2 sets of 24 down a column. Four different comparisons
--are
made in this example.
SELECT
DISTINCT T2.GroupID, (T2.AVG1 - T2.AVG2) - (2.01 * SQRT(2 *
(((23 * SQUARE(T2.SD1)) + (23 *
SQUARE(T2.SD2)))
/ (24 + 24 - 2)) / 24)) AS FirstSet,
' < Ua - Ub < ' AS Diff,
(T2.AVG1 - T2.AVG2) + (2.01 * SQRT(2 *
(((23 * SQUARE(T2.SD1)) + (23 *
SQUARE(T2.SD2)))
/ (24 + 24 - 2)) / 24)) AS SecondSet
FROM
(SELECT T1.TestID, T1.GroupID, (SELECT
'AVG1' = CASE
WHEN
T1.TestID % 48 <> 0 THEN
(SELECT (AVG(T3.TestSample1)) FROM tTest2 T3
WHERE
T3.TestID >= (T1.TestID / 48) * 48 + 1
AND
T3.TestID <= (T1.TestID / 48) * 48 + 24
)
ELSE
(SELECT
(AVG(T4.TestSample1)) FROM tTest2 T4
WHERE
T4.TestID >= ((T1.TestID - 1) / 48) * 48 + 1
AND T4.TestID <= ((T1.TestID - 1) / 48)
* 48 + 24
)
END) AS
AVG1,
(SELECT 'SD1' =
CASE
WHEN
T1.TestID % 48 <> 0 THEN
(SELECT
(STDEV(T5.TestSample1)) FROM tTest2 T5
WHERE
T5.TestID >= (T1.TestID / 48) * 48 + 1
AND T5.TestID <= (T1.TestID / 48)
* 48 + 24
)
ELSE
(SELECT
(STDEV(T6.TestSample1)) FROM tTest2 T6
WHERE T6.TestID >= ((T1.TestID - 1) / 48) *
48 + 1
AND
T6.TestID <= ((T1.TestID - 1) / 48) * 48 + 24
)
END) AS SD1,
(SELECT 'AVG2' =
CASE
WHEN
T1.TestID % 48 <> 0 THEN
(SELECT
(AVG(T7.TestSample1)) FROM tTest2 T7
WHERE
T7.TestID >= (T1.TestID / 48) * 48 + 25
AND
T7.TestID <= (T1.TestID / 48) * 48 + 48
)
ELSE
(SELECT
(AVG(T8.TestSample1)) FROM tTest2 T8
WHERE
T8.TestID >= ((T1.TestID - 1) / 48) * 48 + 25
AND
T8.TestID <= ((T1.TestID - 1) / 48) * 48 + 48
)
END) AS AVG2,
(SELECT 'SD2' =
CASE
WHEN
T1.TestID % 48 <> 0 THEN
(SELECT
(STDEV(T9.TestSample1)) FROM tTest2 T9
WHERE
T9.TestID >= (T1.TestID / 48) * 48 + 25
AND
T9.TestID <= (T1.TestID / 48) * 48 + 48
)
ELSE
(SELECT (STDEV(T10.TestSample1)) FROM tTest2 T10
WHERE
T10.TestID >= ((T1.TestID - 1) / 48) * 48 + 25
AND
T10.TestID <= ((T1.TestID - 1) / 48) * 48 + 48
)
END) AS SD2
FROM tTest2 T1) AS T2
--Clean
up
DROP
TABLE tTest2
--Third
example
--Compare
independent control and test sets on multiple 96-well
--plates.
The first set of 24 is the control and then the next
--three
sets of 24 are the test sets. Four comparisons in each
--96-well
plate. The control with the control and then the control
--with
each of the 3 test sets.
CREATE
TABLE tTest3(TestID INTEGER NOT NULL IDENTITY PRIMARY KEY,
GroupID INTEGER, TestSample1 REAL)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 125)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 135)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 126)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 140)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 135)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 128)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 121)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 123)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 126)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 121)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 131)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 120)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 117)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 126)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 127)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 119)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 125)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 120)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 122)--Control
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 128)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 127)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 149)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 151)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 145)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 142)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 122)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 150)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 148)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 140)--Test1
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 128)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 127)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 149)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 151)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 145)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 142)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 122)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 150)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 148)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 135)--Test2 Change 140 to 135
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 128)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 127)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 149)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 151)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 145)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 142)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 122)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 150)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 148)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(1, 130) --Test3 Change from 140 to 130
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 125)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 135)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 126)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 140)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 135)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 128)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 121)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 123)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 126)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 121)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 131)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 120)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 117)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 126)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 127)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 119)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 125)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 120)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 122)--Control
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 128)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 127)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 149)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 151)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 145)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 142)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 122)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 150)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 148)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 125) --Test1 Change from 140 to 125
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 128)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 127)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 149)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 151)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 145)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 142)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 122)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 150)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 148)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 120) --Test2 Change from 140 to 120
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 128)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 127)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 149)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 151)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 145)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 132)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 141)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 133)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 142)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 130)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 122)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 129)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 150)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 148)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 136)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 138)
INSERT
INTO tTest3(GroupID, TestSample1) VALUES(2, 115) --Change from 140 to 115
SELECT
* FROM tTest3
--Change
the set iterators in the above example to accomplish this.
--Notice
when the comparisons are returned they may not be in order.
--Remove
the DISTINCT keyword and re-run the query. Even though the
--interators
may work in order the DISTINCT keyword may not maintain
--it.
SELECT
DISTINCT T2.GroupID, (T2.AVG1 - T2.AVG2) - (2.01 * SQRT(2 *
(((23 * SQUARE(T2.SD1)) + (23 *
SQUARE(T2.SD2)))
/ (24 + 24 - 2)) / 24)) AS FirstSet,
' < Ua - Ub < ' AS Diff,
(T2.AVG1 - T2.AVG2) + (2.01 * SQRT(2 *
(((23 * SQUARE(T2.SD1)) + (23 *
SQUARE(T2.SD2)))
/ (24 + 24 - 2)) / 24)) AS SecondSet
FROM
(SELECT T1.TestID, T1.GroupID, (SELECT
'AVG1' = CASE
WHEN
T1.TestID % 96 <> 0 THEN
(SELECT
(AVG(T3.TestSample1)) FROM tTest3 T3
WHERE
T3.TestID >= (T1.TestID / 96) * 96 + 1
AND
T3.TestID <= (T1.TestID / 96) * 96 + 24
)
ELSE
(SELECT
(AVG(T4.TestSample1)) FROM tTest3 T4
WHERE
T4.TestID >= ((T1.TestID - 1) / 96) * 96 + 1
AND
T4.TestID <= ((T1.TestID - 1) / 96) * 96 + 24
)
END) AS
AVG1,
(SELECT 'SD1' =
CASE
WHEN
T1.TestID % 96 <> 0 THEN
(SELECT (STDEV(T5.TestSample1)) FROM tTest3 T5
WHERE
T5.TestID >= (T1.TestID / 96) * 96 + 1
AND
T5.TestID <= (T1.TestID / 96) * 96 + 24
)
ELSE
(SELECT
(STDEV(T6.TestSample1)) FROM tTest3 T6
WHERE
T6.TestID >= ((T1.TestID - 1) / 96) * 96 + 1
AND T6.TestID <= ((T1.TestID - 1) / 96) *
96 + 24
)
END) AS
SD1,
(SELECT 'AVG2' =
CASE
WHEN T1.TestID % 24 <> 0 THEN
(SELECT
(AVG(T7.TestSample1)) FROM tTest3 T7
WHERE
T7.TestID >= (T1.TestID / 24) * 24 + 1
AND
T7.TestID <= (T1.TestID / 24) * 24 + 24
)
ELSE
(SELECT
(AVG(T8.TestSample1)) FROM tTest3 T8
WHERE
T8.TestID >= ((T1.TestID - 1) / 24) * 24 + 1
AND
T8.TestID <= ((T1.TestID - 1) / 24) * 24 + 24
)
END) AS AVG2,
(SELECT 'SD2' =
CASE
WHEN
T1.TestID % 24 <> 0 THEN
(SELECT
(STDEV(T9.TestSample1)) FROM tTest3 T9
WHERE
T9.TestID >= (T1.TestID / 24) * 24 + 1
AND
T9.TestID <= (T1.TestID / 24) * 24 + 24
)
ELSE
(SELECT
(STDEV(T10.TestSample1)) FROM tTest3 T10
WHERE
T10.TestID >= ((T1.TestID - 1) / 24) * 24 + 1
AND
T10.TestID <= ((T1.TestID - 1) / 24) * 24 + 24
)
END) AS SD2
FROM tTest3 T1) AS T2
--Clean
up
DROP
TABLE tTest3