没有 ,
set @a=1;
select *, @a:=@a+1 from tt

解决方案 »

  1.   

    http://blog.csdn.net/acmain_chm/article/details/4095531MySQL中的ROWNUM的实现
    MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能。 下面介绍几种具体的实现方法.建立实验环境如下mysql> create table tbl (    ->  id      int primary key,    ->  col     int    -> );Que...
      

  2.   

    就这个或者建一个临时表 有自增id的  然后数据导入进去   sqlsever2000没有那个函数就这么做得
      

  3.   

    mysql临时表不允许被多次引用在同一查询中set @a=1;
    select *, @a:=@a+1 from tt
    这种方法不能在视图中使用
      

  4.   

    数据表如下:
    ID flow_id 姓名 时间
    1 223 张三 2011/8/18 15:47
    2 223 李四 2011/8/19 19:47
    6 223 王五 2011/8/20 15:47
    7 223 麻子 2011/8/21 15:27
    8 2238 张三 2011/8/12 15:47
    11 2238 李四 2011/8/14 19:47
    12 2238 王五 2011/8/22 15:47
    15 2238 赵四 2011/8/28 15:27
    16 2236 张三 2011/8/15 15:47
    18 2236 赵三 2011/8/24 19:47
    19 2236 王五 2011/8/25 15:47
    21 2236 赵四 2011/8/29 15:27我想通过一系列SQL语句处理之后得出以下表结构:
    ID flow_id 姓名 时间 处理时间 平均用时
    1 223 张三 2011/8/18 15:47 1天4小时 97.333小时
    2 223 李四 2011/8/19 19:47 1天4小时 106小时
    6 223 王五 2011/8/20 19:47 1天0小时10分 88小时
    7 233 麻子 2011/8/21 19:57 
    8 2238 张三 2011/8/12 19:57 2天0小时 97.333小时
    11 2238 李四 2011/8/14 19:57 8天0小时 106小时
    12 2238 王五 2011/8/22 19:57 6天0小时 88小时
    15 2338 赵四 2011/8/28 19:57  
    16 2236 张三 2011/8/15 19:57 9天0小时 97.333小时
    18 2236 赵三 2011/8/24 19:57 1天0小时 24小时
    19 2236 王五 2011/8/25 19:57 4天0小时 88小时
    21 2336 赵四 2011/8/29 19:57  即下一行的时间减去上一行的时间得出处理时间
    平均用时为某个人每次用时除以次数
    比如张三(1天4小时 + 2天0小时+9天0小时)/3=97.333小时
    因为张三出现3次
      

  5.   

    set @a=0;
    UPDATE dd a inner join (select @a:=@a+1 as newid,`ID` from dd ) b on a.`ID`=b.id SET a.id=newid ;SELECT a.*,TIMEDIFF(b.`时间`,a.`时间`) AS 处理时间,dd AS 平均用时
     FROM dd a LEFT JOIN dd b ON a.`ID`=b.`ID`-1 AND a.`flow_id`=b.`flow_id`
     INNER JOIN
     (
    SELECT 姓名,SUM(aa)/(3600*(SELECT COUNT(*) FROM dd WHERE `姓名`=a1.`姓名`)) AS dd,
    (SELECT COUNT(*) FROM dd WHERE `姓名`=a1.`姓名`) 
     FROM (
     SELECT a.*,b.`时间` AS bsj,TIMEDIFF(b.`时间`,a.`时间`) AS aa
     FROM dd a LEFT JOIN dd b ON a.`ID`=b.`ID`-1 AND a.`flow_id`=b.`flow_id`
     ) a1 GROUP BY 姓名 
     
     
     
     ) c1
     ON a.`姓名`=c1.`姓名`
     
     ;
      

  6.   

    谢谢wwwwb,关键这一系列语句无法写入到一个视图中
      

  7.   

    不过,如果数据大,每次都UPDATE一下是不是造成装载太慢
      

  8.   

    插入有自增字段的临时表orSELECT * FROM (
    SELECT a.id,a.`flow_id`,MIN(b.id) AS newid FROM dda a LEFT JOIN dda b ON a.`flow_id`=b.`flow_id` AND a.`ID`<b.`ID`
    GROUP BY a.id,a.`flow_id`) a1
    LEFT JOIN dda c ON a1.id=c.id
    LEFT JOIN dda c1 ON a1.newid=c1.id
      

  9.   

    to wwwwb
    mysql临时表不允许被多次引用在同一查询中
    也就是不允许使用SELECT a.id,a.`flow_id`,MIN(b.id) AS newid FROM dda a LEFT JOIN dda b ON a.`flow_id`=b.`flow_id` AND a.`ID`<b.`ID`中的,a,b,c这样的虚拟表
      

  10.   

    to wwwwb上面的语句是在编译器里测试通过的吗还是随手编写的