SQL数据排序 (转贴)

排序|数据

--测试表
CREATE TABLE Test(F1 char(10), F2 char(10))

--插入数据
INSERT INTO Test
SELECT 'a' F1, '1' F2
UNION
SELECT 'b' F1, '2' F2
UNION
SELECT 'c' F1, '4' F2
UNION
SELECT 'd' F1, '3' F2
UNION
SELECT 'e' F1, '4' F2
UNION
SELECT 'f' F1, '5' F2
UNION
SELECT 'g' F1, '4' F2
UNION
SELECT 'h' F1, '7' F2
UNION
SELECT 'i' F1, '9' F2

---排名次
--方法1
SELECT a.*,(SELECT COUNT(*) FROM test b WHERE b.F2>a.F2)+1 AS minci FROM test a ORDER BY minci
--方法2
SELECT id = IDENTITY (int, 0, 1), f1, f2 INTO #t FROM test ORDER BY F2 DESC
SELECT a.f1, a.f2, a.id + 1 - cast(id - cc - minn AS Char(10)) AS [名次]
FROM #t a, (SELECT f2, cc, minn FROM (SELECT f2, COUNT(*) AS cc, MIN(id) - COUNT(*) AS minn FROM #t GROUP BY f2) t) b
WHERE a.f2 = b.f2
ORDER BY a.f2 DESC

--删除表
DROP TABLE #t
DROP TABLE test

时间: 2024-08-02 07:28:09

SQL数据排序 (转贴)的相关文章

sql数据排序与按日期排序

例1,按ID排序(多表联合查询排序)  代码如下 复制代码 CREATE TABLE t1 (id int ,NAME varchar(10)) INSERT INTO t1 SELECT 1,'a' UNION ALL SELECT 3,'b' UNION ALL SELECT 10,'c' CREATE TABLE t2(id int ,NAME varchar(10)) INSERT INTO t2 SELECT 1,'aa' UNION ALL SELECT 1,'aa' UNION A

ASP.NET中实现DataGrid数据排序

asp.net|datagrid|排序|数据 Visual Studio .Net为编写WinForm程序(即:在Windows平台下运行的程序)所提供的DataGrid组件比起微软以往的各种开发环境中提供的DataGrid组件都要"高级"许多.其"高级"的地方就在于不需要再进行任何其他设置或编程,DataGrid就能够对其中的数据分别按照升.降序进行排列.这种"高级"功能给我们编程提供了许多方便.图01是在WinForm程序中的DataGrid

SQL的排序,分组,统计常用语句

  SQL的排序,分组,统计常用语句: 1.使用排序使数据有序 通常,你的所有数据真正需要的仅仅是按某种顺序排列.SQL的ORDER BY语句可以以字母或数字顺序组织数据.因此,相似的值按组排序在一起.然而,这个分组时排序的结果,并不是真的分组.ORDER BY显示每条记录而分组可能代表很多记录. 2.进行分组除去重复值 排序和分组之间的最大区别是:排序的数据显示所有记录(在限定标准范围之内),而分组数据不是显示所有记录.GROUP BY语句对于同样的值只显示一条记录.例如,下面的语句中的GRO

oracle sql加排序变慢

问题描述 oracle sql加排序变慢 select vrowid rid from cux_mtl_system_items_v e where e.ORGANIZATION_CODE = '100' order by DESCRIPTION asc 如上SQL,去掉ORDER BY 1秒内能查出来,如果加上ORDER BY 至少要20秒以上,这是为啥啊 我是在PLSQL上面操作的 解决方案 数据量很大的话,排序本来就慢,而且你的列是字符串,它的比较排序更费时间 解决方案二: 建议你在cux

javascript table数据排序代码

数据排序听起来好像只能是php教程,asp教程,sql来实现,今天我们提供一个可以在客户端进行数据排序的js代码,有需要的朋友可以参考一下. function sortCells(event) { var obj = event.target; var count = 0; count是记录点击次数的,根据奇偶进行升序或降序 if(!obj.getAttribute("clickCount")){ obj.setAttribute("clickCount", 0);

SQL数据映射到NoSQL存储系统的高效方式

本文我们来看看SQL数据如何高效的映射到NoSQL存储系统FoundationDB中.     SQL数据库只限在单机上运行,但它提供了更强的事务管理.schema与查询功能.    NoSQL数据库为了伸缩性与容错性的目的,放弃了事务管理与schema. 而FoundationDB的SQL层结合了这两个方面:它首先是一个开源的SQL数据库,能够线性地伸缩与提升容错性,并且还具有真正的ACID事务功能.曾经互不相容的两种特性,现在已融合在一个统一的系统中. 对于处于以下几种情况的公司来说,这一特

sql-ASP读取SQL数据表 生成多记录JSON 具体代码如何写 求教大神

问题描述 ASP读取SQL数据表 生成多记录JSON 具体代码如何写 求教大神 数据表是user 主键是m_Name <%response.ContentType=""text/json"" response.write request(""jsoncallback"")%>([{""m_Name"":""*依旧""n_Name&quo

如何实现XML+XSL+javascript数据排序

javascript|xml|排序|数据 如何实现XML+XSL+javascript数据排序 数据排序模版<?xml version="1.0" encoding="gb2312" ?><xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/

数组数据排序的程序例子

数组数据排序的程序例子 <% ''*** build example array to show that this thing can sort ''*** alpha-numeric arrays Dim MyArray MyArray = Array(1,5,"shawn","says","hello"2m骺噃嶤123,12,98) MyArray = Sort(MyArray) For I = 0 to Ubound(MyArray