比如说一张表table1字段有两个是:m1,m2
我select * from table1结果是:
m1  m2
a   t
d   k
4   m
i   o
我想要的结果是在其前面加一个序号:
seri  m1  m2
1     a   t
2     d   k
3     4   m
4     i   o  我如何写SQL语句实现呢?

解决方案 »

  1.   

    到下面的网址去看看
    1、关于此主题请参考:
        《查询》如何定义自动编号字段的初始值和步进值?
        http://access911.net/index.asp?u1=a&u2=71FAB01E13DC
    2、不允许定义字符,如果在固定位置夹杂字符可以用查询解决
    关于此主题请参考:
        新手来看:设计表的时候怎么定义计算列?《表》
        http://access911.net/index.asp?u1=a&u2=74FAB01E13DC
    3、默认情况下不会前移,除非你手动更改
    关于此主题请参考:
        自动编号的字段在删除记录后编号不连续《表》
        http://access911.net/index.asp?u1=a&u2=75FAB31E17DC
    4、可以插入,插入方式可以参考前面的几篇文章
      

  2.   

    你在access表里加个自动编号字段不行吗?
      

  3.   

    procedure Tform1.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
    if Column.Index = 0 then
      with DBGrid1.Canvas do
        begin
          FillRect(Rect);
          TextOut(Rect.Left+2, Rect.Top+2, IntToStr(DBGrid1.DataSource.DataSet.RecNo));
        end;
    end;
      

  4.   

    双击query-->点击右键-->add all fields-->点右键-->new field-->name填入“no”,type选“integer”,field type选“calculated”,点OK-->在query的oncalcfields事件中填入:procedure TForm1.Query1CalcFields(DataSet: TDataSet);
    begin
    Query1no.Value:=dataset.RecNo;
    end;sql语句中不会写