爱问知识人 爱问教育 医院库

asp问题,

首页

asp问题,

Conn.Execute("Select count (*) From PE_Article") 
想只统计前几行,有没有办法啊,要怎么写啊

因为数据太大了,怕统计起来很慢,所以只想统计前多少条 
我用Conn.Execute("Select Top 10 count (*) From PE_Article") 好像是错误的
count (*) 跟Top一块用可以吗 ?要怎么写啊

提交回答
好评回答
  • 2009-01-14 10:10:40
      首先你要明确你的目的
    select count(*) from PE_Article
    是查询出PE_Article 表中的记录的行数
    select top 10 * from PE_Article
    是查询出表中前10行的所有数据
    在这里top 与 count(*) 是不能这样用的,因为你指明top 10的时候已经表明你要查询前10行的数据,单从逻辑上分析,count(*)这时候其实就相当于是10,你在查询前已经知道了你要查的是几条数据,再用count(*)似乎是为了用才去用 并没有意义
    从单从你说的 想统计前多少条 你是想统计出符合某个条件的数据有多少条  还是想查询出前多少条的数据(例如:前10条)
    如果是想统计出符合条件的数据有多少条
    那么 select count(*) from 表名 where 条件
    如果是想查询出前多少条的数据 如:10条
    那么 select top 10 * frin 表名
    需要附带条件的还可以附带where 条件
    或者统计的话使用聚合函数,要注意的是,使用了聚合函数的时候,要记得聚合函数常个group by子句联用
    至于多表 还可以是使用到联接查询
    inner join
    left join
    right join 等等
    另外 根据sql server不同的版本 可能有些语法会不一样
    先说这些 有不明白可以再一起探讨。
      

    b***

    2009-01-14 10:10:40

其他答案

    2009-01-06 10:47:42
  • 虽然能够实现,但是我认为这个思路不正确,这样可以:
    直接Select Top 10 * From PE_Article 就可以了
    记录行数在代码中统计
    如果要按照你的意思用sql语句可以这样:
    select count(*) from PE_Article where id in 
    (select top 2 id from PE_Article)
    --id为主键

    1***

    2009-01-06 10:47:42

类似问题

换一换
  • 其他编程语言 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 176-195
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):