首页 > 编程技术 > php

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

发布时间:2016-11-25 16:44

接着昨天没有写完的那个无重复的随即数字的程序,我们展开来讲!既然做这个程序的的目的是为了对买彩票的程序作准备!所以我要把 每次 的结果保存到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
这样得到的第一个记录就是出现重复次数最多的那组数字。
/*
豆腐制作 都是精品
豆腐技术站
如转载 请保留完整版权信息
*/

我们经常在设计数据库的时候用一个系统自动分配的ID来作为我们的主键,但是在ORACLE 中没有这样的 功能,我们
可以通过采取以下的功能实现自动增加ID的功能
1.首先创建 sequence
create sequence seqmax increment by 1
2.使用方法
select seqmax.nextval ID from dual
就得到了一个ID
如果把这个语句放在 触发器中,就可以实现 和 ms sql 的自动增加ID相同的功能!


Access数据库在用的过程中, 经常不断的进行删除和增加记录的操作,会出现以下问题:
1. 可能会使Update语句更新失败, 明明一条记录存在, 也可以select到,但在用Update时出现找不到记录, 更新失败的错误信息.
2. 会使数据库增大, 并且降低数据库操作的效率
3. 在删除记录时也不会减少数据库的大小, 并且没有可以改善数据库的相应语句
解决办法
下载Access数据库, 用Access软件打开, 并用"修复和压缩数据库"工具进行处理, 保存后再重新上传并覆盖掉原来的数据库即可解决以上的所有问题. 这种办法比较只适合于中小型的数据库, 大的如果采用上下载的办法太慢了.

mysql数据库表sqltable
字段id,name,sex,email
access数据库表accesstable
id,name,sex,email
<?
$connect = mysql_connect("localhost","","");
mysql_select_db("mydatabase");
$sql = "select * from sqltable;
$result = mysql_query($sql};
$connectodbc=odbc_connect("DSN","USERNAME","PASSWORD");
while($row = mysql_fetch_row($result))
{
$sql="insert into accesstable
values($row["id",$row["name",$row["sex"],$row["email"])";
odbc_do($connectodbc,$sql);
}
odbc_close($connectodbc);
mysql_close($conect);
?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】


今天在用存储过程调用程序时, 发现SQL的时间或日期并不是跟计算机的时钟同步. 比如我把当前时间12:00改为13:00,如果马上用SQL Server的GetDate得到的时间仍为12:00. 但在经常约一分钟(也许只有半分钟),SQL时间才转到系统的正常时间上去.我的系统是Win2K SQL Server7.0, 不知你们是否也有这个问题, 欢迎跟我交流测试.

标签:[!--infotagslink--]

您可能感兴趣的文章: