Ⅰ sql 分组编序号
题主你已经把SQL文写出来了,既然谁时间早排前面,那你把desc去掉就行了。
SELECT*FROM(SELECTROW_NUMBER()OVER(PARTITIONBYSUBSTRING(CONVERT(varchar(100),Time,20),0,11)ORDERBYTime)ASxh,*FROMdbo.表)T
我用的oracle数据库,sql文如下:
SELECT*FROM(SELECTROW_NUMBER()OVER(PARTITIONBYto_char(t.time,'yyyy-mm-dd')ORDERBYTime)ASxh,t.*FROMtestt)
Ⅱ SQL 如何给各自分组添加序号
select姓名,日期,row_number()over(partitionby姓名orderby日期)fromtable
oracle的写法,SQL server好像不支持。
Ⅲ 按分组来自动生成序号的SQL怎么写
假设表名为 test1, 字段名为 a, b
SQL 语句如下:
select t.a, t.b, (SELECT COUNT(*) FROM test1 WHERE a = t.a AND b <= t.b) AS xuhao FROM test1 t ORDER BY t.a
Ⅳ sql如何自动增加序号查询语句
现有两种方法解决,供参考:
1、SELECT IDENTITY(INT,1,1) AS 序号, avge FROM Table1
2、SELECT IDENTITY(INT,1,1) AS 序号, avge INTO #temp1 FROM Table1
SELECT * FROM #temp1
DROP TABLE #temp1
Ⅳ sql server 2000分组增加序号问题
CREATE TABLE #temp (
Code1 VARCHAR(10),
Code2 VARCHAR(7)
);
go
INSERT INTO #temp
SELECT '330200101', '3302001' UNION ALL
SELECT '330200102', '3302001' UNION ALL
SELECT '330200103', '3302001' UNION ALL
SELECT '330200105', '3302001' UNION ALL
SELECT '330200201', '3302002' UNION ALL
SELECT '330200202', '3302002' UNION ALL
SELECT '330200203', '3302002' UNION ALL
SELECT '330200204', '3302002' UNION ALL
SELECT '330200205', '3302002'
GO
1> SELECT
2> (SELECT RIGHT('000' + CAST( COUNT(1) AS VARCHAR ), 3)
3> FROM #temp sub
4> WHERE
5> sub.Code2 = main.Code2
6> AND sub.Code1 <= main.Code1
7> ) AS 序号,
8> Code1 AS 代码1,
9> Code2 AS 代码2
10> FROM
11> #temp main;
12> GO
序号 代码1 代码2
------ ---------- -------
001 330200101 3302001
002 330200102 3302001
003 330200103 3302001
004 330200105 3302001
001 330200201 3302002
002 330200202 3302002
003 330200203 3302002
004 330200204 3302002
005 330200205 3302002
(9 行受影响)
Ⅵ 如何在sql排序后给排好的数据加序号
比如:select 学号,日期row_number()over(partitionby学号orderby 学号)fromA表.
Ⅶ mysql分组 排序 加 序号
需要用row_number来给分组添加序号。
1、创建测试表,插入数据:
createtabletest(sidint,snamevarchar(20),sclassvarchar(20),scoreint);insertintotestvalues(1,'张三','一年一班',100)insertintotestvalues(2,'李四','一年一班',78)insertintotestvalues(3,'王五','一年一班',67)insertintotestvalues(4,'赵六','一年一班',87)insertintotestvalues(5,'badkano','一年二班',98)insertintotestvalues(6,'网络知道团长','一年二班',99)insertintotestvalues(7,'小小动','一年二班',99)insertintotestvalues(8,'刘备','一年三班',56)insertintotestvalues(9,'张飞','一年三班',67)insertintotestvalues(10,'关羽','一年三班',76)
2、要求按照班级总分给出班级排名(即序号),执行语句:
1selectrow_number()over(orderbyscoredesc)排名,sclass班级,score总分from(selectsclass,SUM(score)scorefromtestgroupbysclass)t3、查询结果:
Ⅷ sql中,按照某个字段的内容进行分组,并在组内加序号
sqlserver2005及以上版本
SELECT
ROW_NUMBER()
OVER(PARTITION
BY
种类
ORDER
BY
种类)
AS
序号,*
FROM
表
Ⅸ 如何用SQL自动生成序号和分序号
需要用row_number来给分组添加序号。
1、创建测试表,插入数据:
createtabletest(sidint,snamevarchar(20),sclassvarchar(20),scoreint);insertintotestvalues(1,'张三','一年一班',100)insertintotestvalues(2,'李四','一年一班',78)insertintotestvalues(3,'王五','一年一班',67)insertintotestvalues(4,'赵六','一年一班',87)insertintotestvalues(5,'badkano','一年二班',98)insertintotestvalues(6,'网络知道团长','一年二班',99)insertintotestvalues(7,'小小动','一年二班',99)insertintotestvalues(8,'刘备','一年三班',56)insertintotestvalues(9,'张飞','一年三班',67)insertintotestvalues(10,'关羽','一年三班',76)2、要求按照班级总分给出班级排名(即序号),执行语句:
selectrow_number()over(orderbyscoredesc)排名,sclass班级,score总分from(selectsclass,SUM(score)scorefromtestgroupbysclass)t3、查询结果:
Ⅹ sql 分组 编号
如果有主键列,假设主键为ID:
select 列名,nid = (select count(1) from 表名 where 列名= a.列名 and id <= a.id)
from 表名 a
如果没有主键列,必须造一个:
select identity(int,1,1) as id ,* into # from 表名
select 列名,nid = (select count(1) from # where 列名= a.列名 and id <= a.id)
from # a
SQL SERVER 2005及以后的版本,可以用roy_88的语法