如何用一条SQL语句实现这样的查询(详见内容)?

test234 2004-02-10 11:36:07
有一表(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值求出总记录,如何实现?
...全文
37 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复

34,592

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧