恩恩,谢谢提醒。我是在php中执行sql语句的,用的是wamp架构。 数据表edu_ip_address中现有一列,列名为startip,每一行都是一个数字。现在按执行select * from edu_ip_address order by startip,得到按startip升序排列的搜索结果并显示出来,如下: 100 200 300 …… 我想在显示时在前面加一列,比如原来最小的startip的值是100,在他前面加个1,下一个前面加个2,以此类推……,如下: 1 100 2 200 3 300 不知有没有办法实现? 我是菜鸟,可能表述不清,请见谅
crate table test1(a int not null auto_increment,b int); insert into test1(b) select startip from edu_ip_address order by startip;
如果这样,建议这个1,2,3 序列号还是在PHP代码中生成比较高效。 如果一定要通过SQL语句实现,则可以参考下贴中多种方法。http://blog.csdn.net/acmain_chm/article/details/4095531 MySQL中的ROWNUM的实现 MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能。 下面介绍几种具体的实现方法.建立实验环境如下mysql> create table tbl ( -> id int primary key, -> col int -> );Que...
$temp_sql = "create temporary table tmp_query (ID bigint(20) auto_increment PRIMARY KEY,startip bigint(20))"; $temp_query = mysql_query($temp_sql); $sql="insert into tmp_query(startip) select startip from edu_ip_address order by startip"; mysql_query($sql); $sql = "select * from tmp_query";
看看这样能否满足你的需要: SET @a=0; SELECT @a:=@a+1,b.* FROM 表 as b order by 排序字段
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
数据表edu_ip_address中现有一列,列名为startip,每一行都是一个数字。现在按执行select * from edu_ip_address order by startip,得到按startip升序排列的搜索结果并显示出来,如下:
100
200
300
……
我想在显示时在前面加一列,比如原来最小的startip的值是100,在他前面加个1,下一个前面加个2,以此类推……,如下:
1 100
2 200
3 300
不知有没有办法实现?
我是菜鸟,可能表述不清,请见谅
insert into test1(b) select startip from edu_ip_address order by startip;
如果一定要通过SQL语句实现,则可以参考下贴中多种方法。http://blog.csdn.net/acmain_chm/article/details/4095531
MySQL中的ROWNUM的实现
MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能。 下面介绍几种具体的实现方法.建立实验环境如下mysql> create table tbl ( -> id int primary key, -> col int -> );Que...
$temp_query = mysql_query($temp_sql);
$sql="insert into tmp_query(startip) select startip from edu_ip_address order by startip";
mysql_query($sql);
$sql = "select * from tmp_query";
SET @a=0;
SELECT @a:=@a+1,b.* FROM 表 as b
order by 排序字段