如何用一条SQL语句实现这样的查询(详见内容)?
有一表(Table1),结构为:
No NAME TYPE DATETIME
1 apple 0 2004-1-08 12:08:12
1 apple 0 2004-1-09 23:12:16
1 banana 0 2004-1-09 23:12:16
1 apple 0 2004-1-31 16:02:32
1 apple 0 2004-1-31 18:24:24
要显示NAME为apple的总记录,可以用SELECT COUNT(*) FROM Table1 WHERE NAME='apple'写出,结果为 4;
但表里的TYPE值是变化的,表现在又变为:
No NAME TYPE DATETIME
1 apple 0 2004-1-08 12:08:12
1 apple 2 2004-1-09 23:12:16
1 banana 0 2004-1-09 23:12:16
1 apple 2 2004-1-31 16:02:32
1 apple 0 2004-1-31 18:24:24
要显示NAME为apple且TYPE值为2以后的记录有多少条可以用SELECT COUNT(*) FROM Table1 WHERE NAME = 'apple' AND DATETIME > (SELECT TOP 1 DATETIME FROM Table1 WHERE NAME = 'apple' AND Type = 2 ORDER BY DATETIME DESC)写出,结果为 1;
因为TYPE值是动态变化的,TYPE值没2时,求总记录的条数,TYPE值有2时,求TYPE值等于2后面的记录的条数,现在我想将这两条SQL语句合成一条,让它根据动态的TYPE值求出总记录,如何实现?