冷月葬花魂 发表于 2015-1-16 22:35:47

MYSQL网页编程之关于怎样在查询了局中增加主动编号

DBaaS会导致单一客户利润率的下降,因为云服务一般是依靠MySQL学习教程数来抵消较低的利润率。常常常常有如许的需求,我必要在查询的了局中增加一列相似于Identity的数字,固然在Client编程中其实不难完成,可是偶然我想留用现有的Class,不但愿在Clientside做分外的coding,那末就只要在Sql内里想举措了
起首先容一种用一条SQL语句完成的举措,道理是在了局中查询年夜于即是该记录的记录条数,就能够失掉它的Rank了
Example:
USEpubs
SELECTCOUNT(*)ASRank,a1.au_lname,a1.au_fname
FROMauthorsa1,authorsa2
WHEREa1.au_lname+a1.au_fname>=a2.au_lname+a2.au_fname
GROUPBYa1.au_lname,a1.au_fname
ORDERBYRank
不外呢,这类办法有它的范围性,第一是功能欠好,第二是假如存在不异的记录,那末Rank就会呈现并列的情形,好比呈现两个2,可是没有3了
有无其余办法呢?固然有的,SQL供应了一个IDENTITYFunction,能够失掉标识列的值,不外惋惜的很的是,这个函数只能用于SELECTINTO语句,以是我们只好引进一个一时表了
Example:
USEpubs
SELECTIDENTITY(INT,1,1)ASRank,au_lname,au_fname
INTO#tmp
FROMauthors
SELECT*FROM#tmp
DROPTABLE#tmp
这类办法的功能和合用性都比第一种办法要强,不外弱点是必需经由过程几条SQL语句才干完成。
以是假如大概的话,一样平常仍是倡议在客户端完成这一操纵

Thanksforyourreadandanyadvise.

如果你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你可以遵循GPL协议使用MySQL。然而,如果你的项目不是在GPL协议下的话,你必须为使用MySQL来支付许可费用,或者你可能因为这个因素而将你的项目改为遵循GPL。

莫相离 发表于 2015-1-17 17:42:35

是要和操作系统进行Socket通讯的场景。否则建议慎重!

海妖 发表于 2015-1-20 23:45:16

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

简单生活 发表于 2015-1-30 07:33:12

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

小女巫 发表于 2015-2-6 08:28:36

如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。

愤怒的大鸟 发表于 2015-2-15 20:28:27

比如日志传送、比如集群。。。

爱飞 发表于 2015-3-4 13:03:58

原来公司用过MYSQL自己也只是建个表写个SQL

若天明 发表于 2015-3-11 19:43:55

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

小魔女 发表于 2015-3-19 10:35:46

你可以简单地认为适合的就是好,不适合就是不好。

飘灵儿 发表于 2015-3-27 20:10:44

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
页: [1]
查看完整版本: MYSQL网页编程之关于怎样在查询了局中增加主动编号