作者oherman (qq)
看板Database
标题[SQL ] 请问rank的用法
时间Mon Oct 12 15:04:21 2015
资料库名称:sql server
资料库版本:2014
内容/问题描述:
请问我有一个资料表名称是table_schema
栏位及资料如下:
table_name field_name
==================================
customer id
customer name
employee ide
employee name
我想用rank或row_number产生如下资料:
sequnence table_name field_name
=====================================
01 customer id
02 customer name
01 employee id
02 employee name
squnence的产生由rank语法产生,请问sql语法应该怎麽下?
重点就是不同的table_name,sequence必须重新计数,
试过over by (table_name,field_name)
结果都不是我想要的,用group by更不行,请问各位先进有没有合适的语法?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.216.68
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1444633463.A.D9A.html
※ 编辑: oherman (118.163.216.68), 10/12/2015 15:05:27
※ 编辑: oherman (118.163.216.68), 10/12/2015 15:07:27
1F:→ ishewood: SELECT table_name, field_name, 10/12 15:48
2F:→ ishewood: ROW_NUMBER() OVER( 10/12 15:49
3F:→ ishewood: PARTITION BY table_name ORDER BY field_name 10/12 15:50
4F:→ ishewood: ) AS sequence 10/12 15:50
5F:→ ishewood: FROM table_schema 10/12 15:50
6F:→ ishewood: ORDER BY table_name, field_name; 10/12 15:51
7F:→ ishewood: 看是不是你要的 10/12 15:51
8F:→ oherman: 感谢,正是我要的^^ 10/12 16:21