2012 年 11 月

浏览模式: 标准 | 列表 | 图文
随机读取N条记录(MySQL、SQL Server、Access、

随机读取N条记录(MySQL、SQL Server、Access、

转来的文章,主要是mysql我熟,其他我不知道。。。。

文章来自:http://www.zhixing123.cn/net/sql-random-read-records.html

以下是全文:

利用一条SQL语句从数据库Table表中随机获取N条记录,各数据库的SQL语句略有不同,如下:

1、MySql

Select * From TABLE Order By Rand() Limit N

以上代码效率不高,自己对1000条数据表随机取10条的测试结果为耗时0.125s,有网友推荐改为以下代码效率有大幅提高,耗时为 0.005s,不过结果是随机从某个位置开始取N条记录,而不是随机取N条记录,略有差异。详细说明见mysql使用rand随机查询记录效率测试。

SELECT * FROM `TABLE` a join (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `TABLE`)-(SELECT MIN(id) FROM `TABLE`))+(SELECT MIN(id) FROM `TABLE`)) AS id) AS b WHERE a.id >= b.id ORDER BY a.id LIMIT N;

2、SQL Server

Select TOP N * From TABLE Order By NewID()


NewID()函数将创建一个 uniqueidentifier 类型的唯一值。

3、Access

Select TOP N * From TABLE Order By Rnd(ID)

Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)

Select TOP N * From TABLE Order BY Rnd(Len(UserName))

4、Oracle

1)dbms_random包

1 select * from (select * from Table order by dbms_random.value) where rownum < N;

注:dbms_random包需要手工安装,位于$ORACLE_HOME/rdbms/admin/dbmsrand.sql

1 dbms_random.value(100,200)

可以产生100到200范围的随机数

2)按概率抽取:

select * from Table sample(百分比);

例:

select * from Table sample(10);

取表Table中记录条数的10%条记录

3)sys_guid

select * from (select * from Table orderby sys_guid()) where rownum<N;

5、postgreSQL

select * from Table order by random() limit N

我们家的航母style及视频一枚

我们家的航母style及视频一枚

最近大家都在航母style,所以我们家也来了一个。。

7193884d7be5091af3a30c1d909fcbc5
然后顺便是这个视频 .这个。。。非常 有意思,但一下子不知道怎么搞可以在线,因为是MOV的文件。
16e9a7ce1f7dd3a114548240523c5bd4,文件不大,有兴趣 的朋友可以点开看。绝对是有笑点
哈哈,已经更新到优酷啦:

密码是肖佑阳的拼音:xiaoyouyang
最后,三马又帮忙转成了GIF,但是是横屏的,于是我用iphoto rotate了一下。正了。哈哈
e3ed351574c7c0d7be331eab514e44f8
phpstorm 6 EAP

phpstorm 6 EAP

最近不得不吐槽一下phpstorm。说实话,从2.0~6.0花的时间真短啊。2年不到,6.0了,平均四个月,一个新版本。

5刚刚用的上手,今天突然推送了一下EAP 6.本着试试看的精神,试用了一下,果然感觉和以前不太一样。。。
UI有变化了。彩色了。好吧,这不提,毕竟不是每个人都喜欢的。。。
在Project中多了一个Create Gist,不知道这是干什么的了吧。Look:http://www.jetbrains.com/phpstorm/webhelp/create-gist-dialog.html
好吧,这还不是我心动的地方,我心动的是。。。
当我在写代码的时候。比如这段:
namespace xxx\xxx;
classe test{
public function __construct(){
$usr = new \User();
}
}
看到了?是的,当使用namespace以外的对象时,需要在对象前加"\",以便和当前的代码区分开。
可是EAP6的版本中,你照常写,但你会发现,class test上面突然间多了一行:
use User;
于是你的代码中就不要"new \User();",而是直接"new User()",就OK了。
刚发现这一点新变化,很喜欢。。。所以就先贴出来了
scope

scope

scope这个单词给人的遐想实在太多了。第一次熟悉它的时候是因为他在yii的AR中有个小小的位置,比如 默认的查询值 ,默认的更新值 等等,方便自己写代码,方便给其他人一些默认属性的设定。

前两天在和流年聊天时,他说,你应该是好久没有看过thinkphp了,thinkphp中也有类似功能了。然后给我一个网址:http://www.thinkphp.cn/info/176.html,这种命名范围是新加入的功能。看了一下,果然功能很类似,也挺不错。

都是实现了差不多类似的功能。其实在很久以前,我记得thinkphp就有default_update字段和default_insert字段的。还可以设默认值。现在查询也可以了。

thinkphp也算是天天在进度,用它写程序的人也越来越多了,最近相对较火的瀑布流程序:pinphp,就是基于thinkphp进行开发的,开发速度快,在国内拥有N多用户,但索取的人多,贡献的人少,这恐怕也是TP最近的现状了。

支持一下国内的框架。顺便,QuickPHP这个框架大家也可以先记一下。(http://quickphp.net/),是一哥们写的。断断续续写了N多年了。基本成型。

国内现在框架有N多了,好象是个写PHP的都有想框架的冲动,我老了,蛋定了,不写了。。。。

Yii 中 markdown 的用法

Yii 中 markdown 的用法

现在很多的文档都开始转向markdown了,其实在yii中很早就支持markdown的解析。用法也是相当的简单,有两种用法
1、在模版中

$this->beginWidget('CMarkdown', array('purifyOutput'=>true));
echo $content;
$this->endWidget();

2、在PHP代码中

$md = new CMarkdown;
echo $md->transform($str);

非常简单的使用。
写markdown文件的话,软件就多了,我是用Mou,一个非常小的软件,可以边写边预览,也能导成PDF。这个就方便了啦。。。
过两天网上找找markdown的一些CSS文件,以后博客什么的,就全部由markdown来处理,再也不占空间了。妈妈说,我再也不用担心学习了。哪里不懂就点哪里。

mysql between and

mysql between and

说实话,以前用mysql的Between and 都是这样的用法:where id between 123 and 456。
偶尔居然看到了原来可以where 123 between start_date and end_date
这个用法有点妖异。记录一下。以后实际应用的时候看看效果如何

网络疯传新的交规扣分图及区间

网络疯传新的交规扣分图及区间

早在几个月前,老爸就和我说,现在江苏管的严了。闯黄灯6分,压白实线开车3分。当时听得心里好紧张啊。在回家的时候。一辆人力三轮车在前面,慢慢开慢慢开,按喇叭也不理你,后来还停下来瞪着你(旁边什么人都没有,路很宽。有非机动车道,非机动车道上没人)。

好吧,再后来说明年1月1日起,交规更严了。嗯于是乎我想做个网站,专门上传别人那些违章照片。但后来想想算了,苦逼人何苦为难苦逼人。行人永远是第一的。

上个网络疯传的图吧。(顺便,听说现在贴单涨到400了。。。苦啊)

注入的文件.rar

点击看大图

好象网站被黑了一次

好象网站被黑了一次

前两天好象网站被黑了。如果用wap访问,会看到信息全是博彩。
检查了一下文件和数据库都没有被黑的记录,反而在image目录下多了一个gif文件。
所以我在想是不是xss的攻击,因为sablog1.6比较早对这方面的防控会比较差一点。

看来,换博客或者其他的是势在必行了。没辙了。。。苦逼啊

apache 限制IP访问

apache 限制IP访问

这是一个小笔记。以前也记过,只是后来忘了。其实就几行代码而已:

<directory xxx>
# 设置可以访问服务器的IP
Allow From 192.168.1.12 220.133.*.*/255.255.255.255
Order deny,allow
Deny from all
</directory>

上面的URL中更加详细 我这个只是一个简单的demo而已。

图书阅读计划

图书阅读计划

看到新闻的时候并没有过去很久,相反,这个计划我倒也是有一点兴趣。说实话,很多人在把书买回来后却发现书与实际内容无法对应上。也因此就浪费了很多钱,同样书看完后,再备上一个电子版,然后就几乎再也不碰这类书籍了。

每年在书籍上面投入都要上千元。有用的,没用的,现在有用现在没用的。都会买上一大堆,有时候买回来发现不太对后,真的是一点都没有看。也曾想过,就扔在那里吧。但想想扔了又太可惜。二手专卖吧,又没意思。所以真就闲置了。

有三个网页,大家可以看一下:
1、http://news.cnblogs.com/n/163898/
2、http://www.raychase.net/1052
3、http://www.ituring.com.cn/article/17382
这三个页面都有点关联,起因在于第一篇,说的是“老赵:学生资助计划”,当然他的名气在.net和js界比较响亮,也顺带着对于其他平台有辐射的影响力。所以图灵之类的社区也跟着搞了起来。

突然想着,我是不是也可以组织一些人,互动一下?互相交流一下?有些书买在家里当桌垫在用,不如贡献贡献?
有兴趣的也可以尝试发邮件给我 19129540@qq.com
我不是名人,但我也可以做一点小事。。(只是说实话,我现在还在考虑这些书应该怎么搞比较好)