海妖 发表于 2015-1-16 22:17:36

MSSQL网站制作之出色的表数据排序分组

因此我们看到,这些信息足够让我们对单个操作实现“逆操作”。明天,当你必要对一个没有排序ID的表举行排序,而且想给每行数据都给一个序号。这相称于良多人问到的,怎样在一个视图中为每行增添一个主动增加的“ID”号。你能够如许写:
以下为援用的内容:
Selecta.Badge,Count(a.Badge)asxorder
FromcPayrolla,cPayrollb
Wherea.Badge>=b.BadgeGroupbya.Badge

看了今后的语句,你大概会以为十分复杂。在以上的基本上,还能够满意以下如许一个很有用的功效。一个表中的前20行分红第1组,从21行-->40行分红第2组,41-->60分红第3组。也便是在一个表的基本上拓展用视图天生以下的数据。(xOrder与Group都是视图天生的。)
以下为援用的内容:
BadgexOrderGroup
A11G1
A22G1
.
B121G2
B222G2
...
C141G3
...

在下面的视图得出来今后,我们就能够用Select*fromViewNameWhereGroup=G1(G2....)的语句举行分组或分页显现查询了。以下我们来天生如许的了局。
在排序功效完成了今后,再完成分组,就是稍微变更一下罢了:
以下为援用的内容:
SelectBadge,Count(a.Badge)asxorder,Cast(((Count(a.Badge)-1)/20)+1asvarchar(10))asGroup
FromcPayrolla,cPayrollb
Wherea.Badge>=b.BadgeGroupbya.Badge


支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统

不帅 发表于 2015-1-19 06:52:03

总感觉自己还是不会SQL

飘灵儿 发表于 2015-1-28 05:22:56

连做梦都在想页面结构是怎么样的,绝非虚言

简单生活 发表于 2015-2-5 15:17:54

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

admin 发表于 2015-2-12 16:32:31

另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);

因胸联盟 发表于 2015-3-3 04:32:41

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~

深爱那片海 发表于 2015-3-11 09:51:15

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。

金色的骷髅 发表于 2015-3-18 04:31:27

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

飘飘悠悠 发表于 2015-3-25 12:51:19

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
页: [1]
查看完整版本: MSSQL网站制作之出色的表数据排序分组