楼长想实现什么呢?如果只是想随机地从库中的1000条记录中抽取200条,有一个更好的办法: SELECT TOP 200 * FROM tablename ORDER BY NEWID() 如果一定要严格按每五条取一的话,可以加入一个按顺序排的字段ID:1,2,3,4...... select 出哪些符合条件round(ID/5)=ID/5.0记录
直接取顶上1000条不行么?Select top 1000 from Tablename不就行了么?
如何写sql语句,老大帮忙先?......
SELECT IDENTITY(int,1,1) AS ID,* into #temp FROM yourtable select * from #temp WHERE id % 5 = 0
with tablename do (select no=5*n from tablename)
我说过了,SELECT TOP 200 * FROM tablename ORDER BY NEWID() 就是随机抽取,按概率来说,就是均匀抽取。 newid()函数会为每个记录产生一个随机数,如果从五千条中取一千条,就是: select top 1000 * from table order by newid()
我用的是ACCESS,说newid()函数没有定义 adodataset1.Active:=false; adodataset1.CommandText:='select top 1000 * from mytable order by newid'; adodataset1.Active:=true;
很不好意思,我以为是Sql server,Access我没怎么研究过. mysql: select * from tablename order by rand() limit 1000 sqlserver: select top 1000 * from tablename order by NEWID()
SELECT TOP 200 *
FROM tablename
ORDER BY NEWID() 如果一定要严格按每五条取一的话,可以加入一个按顺序排的字段ID:1,2,3,4......
select 出哪些符合条件round(ID/5)=ID/5.0记录
目前有n个表,需要用DBCHART显示各个表的记录曲线,由于记录过多,200-10000条不等,为了提高显示速度,设想超过1000条记录的表均匀抽取1000条记录,生成DBCHART图表,SO,如果某表记录为5000条,则需要每隔5条选一条,形成1000条记录,想法如何?高人指点,表中有ID字缎,自动编号的,用adodataset连接,sql语句怎么写,round(ID/5)=ID/5.0?sql里面有round吗?不清楚,请指教
select * from #temp WHERE id % 5 = 0
(select no=5*n from tablename)
FROM tablename
ORDER BY NEWID() 就是随机抽取,按概率来说,就是均匀抽取。
newid()函数会为每个记录产生一个随机数,如果从五千条中取一千条,就是:
select top 1000 * from table order by newid()
adodataset1.CommandText:='select top 1000 * from mytable order by newid';
adodataset1.Active:=true;
移动到5 条后
mysql: select * from tablename order by rand() limit 1000
sqlserver: select top 1000 * from tablename order by NEWID()