欢迎使用CSDN-markdown编辑器

mysql 没有像sqlServer 和 oracle 的 类似 rownum 函数,那么我们如何获得行号呢,以下
三种方式可实现类似sqlServer 和 oracle行号,具体如下

– 方法1
SET @x = 0;
SELECT @x:=@x+1 rownum , st2.* from student2 st2 ORDER BY st2.name;

– 方法2
SELECT @x:=@x+1 rownum, st2.* from student2 st2 ,(SELECT @x:=0) ;

– 方法3
select st2.*,(@x:=@x+1) as rownum from student2 st2,(select (@x:=0))b ;

准备工作如下:
/*
Navicat MySQL Data Transfer

Source Server : mytest
Source Server Version : 50614
Source Host : localhost:3306
Source Database : test

Target Server Type : MYSQL
Target Server Version : 50614
File Encoding : 65001

Date: 2015-09-22 10:10:43
*/

SET FOREIGN_KEY_CHECKS=0;


– Table structure for student2


DROP TABLE IF EXISTS student2;
CREATE TABLE student2 (
id int(10) NOT NULL,
name varchar(20) NOT NULL,
age int(4) DEFAULT NULL,
class int(4) DEFAULT NULL,

PRIMARY KEY (id),
UNIQUE KEY id (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


– Records of student


INSERT INTO student2 VALUES (‘1’, ‘张1’, ‘15’, ‘1’);
INSERT INTO student2 VALUES (‘2’, ‘张2’, ‘15’, ‘1’);
INSERT INTO student2 VALUES (‘3’, ‘张3’, ‘15’, ‘1’);
INSERT INTO student2 VALUES (‘4’, ‘李4’, ‘15’, ‘2’);
INSERT INTO student2 VALUES (‘5’, ‘王五’, ‘15’, ‘2’);
INSERT INTO student2 VALUES (‘6’, ‘王六’, ‘15’, ‘2’);
INSERT INTO student2 VALUES (‘7’, ‘张7’, ‘15’, ‘3’);
INSERT INTO student2 VALUES (‘8’, ‘张8’, ‘15’, ‘3’);
INSERT INTO student2 VALUES (‘9’, ‘张9’, ‘15’, ‘3’);
INSERT INTO student2 VALUES (‘10’, ‘李10’, ‘15’, ‘5’);
INSERT INTO student2 VALUES (‘11’, ‘王11’, ‘15’, ‘5’);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值