A. 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)
B. SQL中取序号的问题
这样不就行吗
创建测试表及插入数据
createtablea
(顾客idint,
消费idint,
消费金额int);
insertintoavalues(1,1,100);
insertintoavalues(1,2,20);
insertintoavalues(1,3,300);
insertintoavalues(1,4,40);
执行
set@r=0;
select@r:=@r+1,a.*
fromA
where顾客id=1;
结果
其中第一列就是消费次数
C. sql 查询语句自动增加序号
.使用临时表实现
SQL的IDENTITY函数可以提供自增的序号,但只能用在带有INTO table子句的SELECT语句中,所以如果可以使用临时表的情况下可以使用这种实现方法。
eg:
SELECT IDENTITY(INT,1,1) as seq,field1,field2,...,fieldn INTO tmpTableName FROM srcTableName;
SELECT * FROM tmpTableName;
DROP TABLE tmpTableName;
D. 函数编写SQL时如何给记录加序号
有五种方法:
一、需要用临时表来实现
select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
select * from #temp
Drop Table #temp
二、不用临时表,就必须有排序列,值唯一,做参考:
select (select count(*) from yourtable where col <= A.col) row, * from yourtable A order by col
三、在原表中增加一列来实现
alter table yourtable add ID int identity
select * from yourtable
alter table yourtable drop column ID
四、 使用SQL Server 2005 独有的RANK() OVER () 语法(测试 客户编号 也应该值唯一才对)
SELECT RANK() OVER (ORDER BY 客户编号 DESC) AS 序号, 客户编号,公司名称 FROM 客户
五、
SELECT 序号= COUNT(*), a.客户编号, b.公司名称
FROM 客户 AS a, 客户AS b WHERE a.客户编号>= b.客户编号
GROUP BY a.客户编号, a.公司名称
ORDER BY 序号
E. sql如何在查出的数据前加上编号
<%
'比如果在产品编号如1204前加上DW,让其编号成为DW1204
'其实就只就是一个对数据进行修改的操作,代码如下
set rs=server.CreateObject("adodb.recordset")
sql="select * from pro"
rs.open sql,conn,1,3
if not rs.eof then
do while not rs.eof
rs("pcard")="DW"&rs("pcard")
rs.movenext
loop
end if
%>
F. 如何用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、查询结果:
G. sql根据条件增加序号
row_number() over(partition by cus_no,style order by vou_no)
H. sql中如何给编号重新排一次编号
将数据导出表(除了编号列)
用
truncate table 表名字
再将数据全部导入
ps:为了避免操作错误,做之前先把表备份一下
I. 问一个sql查询,如何给查询结果加上序号
SQL Server 下
1、SELECTROW_NUMBER()OVER(ORDERBYID)ROWNU,A1FROMTA1
解说:在这里,TA1是一个表,A1是表中的一个字段,表的另一个字段为ID本用于自增这儿用来排序。
SQL Server 中的ROW_NUMBER() 得到一个查询出的顺序,但这个函数要求给出一个查的排序方案,因为SQL Server的存储是无关顺序的。
在Oracle里,本就有rownum。可直接用:
1、SELECTrownum,A1FROMTA1
其它的数据库可能有别的方案,不一而论。
J. 怎么用sql对搜索结果排序并添加序号
1、首先建一张测试表coal_blead,里面有多个字段。