没有,可以用变量累加来实现 set @i=0; select @i:=@i+1 AS ID,f1,f2 from tt
orset @i=0; create table newtt as select @i:=@i+1 AS ID,f1,f2 from tt
不能吗? DELIMITER $$CREATE PROCEDURE `test`.`test`() BEGIN set @i=0; select *,@i:=@i+1 AS ID from msg; END$$DELIMITER ; MYSQL5。1.17下测试通过
DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`test`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `test`() BEGIN set @i=0; select *,@i:=@i+1 AS ID from msg; END$$DELIMITER ;
mysql没有rownum()这种函数。只能通过变通的方法实现。select a.col1,a.col2,count(*) from yourTable a inner join b on a.col2<=b.col2 group by a.col1 order by 3
CREATE TABLE t (a INT AUTO_INCREMENT PRIMARY KEY, b INT);
set @i=0;
select @i:=@i+1 AS ID,f1,f2 from tt
create table newtt as select @i:=@i+1 AS ID,f1,f2 from tt
DELIMITER $$CREATE PROCEDURE `test`.`test`()
BEGIN
set @i=0;
select *,@i:=@i+1 AS ID from msg;
END$$DELIMITER ;
MYSQL5。1.17下测试通过
BEGIN
set @i=0;
select *,@i:=@i+1 AS ID from msg;
END$$DELIMITER ;
from yourTable a inner join b on a.col2<=b.col2
group by a.col1
order by 3