当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 在SQL数据库中得到重复次数最多的记录

MSSQL
查看当前进程,或死锁进程,并能自动杀掉死进程
配置SQL Server 2000选项
使用SQL Mail收发和自动处理邮件中的扩展存储过程简介
如何删除数据库中的冗余数据(翻译)
SQL SERVER 2000系统支持的跟踪函数
异构数据库之间的导入导出
一个四用户信息同步更新的存储过程
Oracle数据库诊断案例-redo log日志组处于高激活状态
如何手动删除 SQL Server 2000 默认实例、命名实例或虚拟实例
ORACLE优化器
PL/SQL开发中动态SQL的使用方法
解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案
使用正规表达式编写更好的SQL
查看SQL Server数据空间分配情况
SQL Server编写存储过程小工具(一)
SQL Server编写存储过程小工具(二)
SQL Server编写存储过程小工具(三)
在IE中直接连接SQL数据库
Sql server数据库备份还原另一方法
Windows 2000下优化Oracle9i性能

MSSQL 中的 在SQL数据库中得到重复次数最多的记录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 48 ::
收藏到网摘: n/a

    接着昨天没有写完的那个无重复的随即数字的程序,我们展开来讲!既然做这个程序的的目的是为了对买彩票的程序作准备!所以我要把 每次 的结果保存到SQL server 数据库中!我的想法是首先运行100万次摇奖的程序后,将这100万条数据存放到数据库中,然后用SQL语句选择出重复次数最多的一组数据,这个就是我的想法!大家仅仅是参考,千万不要模仿呀:)前面我们已经说过如何生成不重复的随即数,我们就利用那个函数来生成一组数据,如此重复100万次!经过3个小时的运算以后,我们得到了一组巨大的记录,下面我们来看看 如何得到 重复次数最多的一组号码呢?我们以前曾经讲过,使用distinct 可以使我们得到一个不重复的记录集(select distinct * from table1),那么怎么得到有重复的记录集呢,显然 简单的使用关键字是不可能实现的了,豆腐最终确定使用Having子句来实现这样的功能,SQL 语句如下,select * from table1 having count(*)>1 这样我们就得到了一个所有记录重复次数超过一次的记录集,我们利用如下语句 select count(*) ccount from table1 group by a1,a2,a3,a4,a5,a6,a7 having count(*)>! order by ccount desc
这样得到的第一个记录就是出现重复次数最多的那组数字。
/*
豆腐制作 都是精品
http://www.asp888.net 豆腐技术站
如转载 请保留完整版权信息
*/