SELECT distinct linkid, max(CreatedDate),max(tagid)
FROM LinkTag
GROUP BY linkid
order by max(CreatedDate) desc
返回的结果是:
55 2006-12-10 11:58:31.437 44
57 2006-12-10 00:19:14.343 46
56 2006-12-09 23:38:50.827 25
50 2006-12-07 11:38:43.297 43
现在我想取得一个结果,就是返回的记录总数,也就是记录总数为4.
请给个sql语句,谢谢了

解决方案 »

  1.   

    SELECT distinct linkid, max(CreatedDate),max(tagid)
    FROM LinkTag
    GROUP BY linkid
    order by max(CreatedDate) descselect @@rowcount
      

  2.   

    select count(*) as 记录总数 from 
    (
    SELECT distinct linkid, max(CreatedDate),max(tagid)
    FROM LinkTag
    GROUP BY linkid
    order by max(CreatedDate) desc
    ) t
      

  3.   

    这个sql语句,返回一个录总数为4就可以了,但前提条件是上边这个
    我知道可以写临时表,如果不用临时表,怎么得到?谢谢了
      

  4.   

    SELECT distinct linkid, max(CreatedDate),max(tagid)
    FROM LinkTag
    GROUP BY linkid
    order by max(CreatedDate) descselect @@rowcount
      

  5.   

    也可以用:select count(distinct linkid) from LinkTag
      

  6.   

    老兄,不行,报错服务器: 消息 1033,级别 15,状态 1,行 8
    除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。
      

  7.   

    @@ROWCOUNT
    返回受上一语句影响的行数。语法
    @@ROWCOUNT返回类型
    integer注释
    任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。
      

  8.   

    select count(distinct linkid) from LinkTag
      

  9.   

    如果只要记录总数,不用order by 
    select count(*) as 记录总数 from 
    (
    SELECT distinct linkid, max(CreatedDate),max(tagid)
    FROM LinkTag
    GROUP BY linkid
    ) t
      

  10.   

    dawugui(潇洒老乌龟)
    -------->
    select count(*) as 记录总数 from 
    (
    SELECT top 100 percent linkid, max(CreatedDate),max(tagid)
    FROM LinkTag
    GROUP BY linkid
    order by max(CreatedDate) desc
    ) t
      

  11.   

    还想问下select count(distinct top 100 linkid) from LinkTag这样不可以吗?只想返回前100条记录,可能不到100条记录
      

  12.   

    select count(*) from (select distinct top 100 linkid from LinkTag) t
      

  13.   

    select count(*) from(select distinct top 100 percent linkid from LinkTag)t