phpmyadmin 我怎样才能添加一个新的列计数的行数作为序列号

ssm49v7z  于 2023-04-30  发布在  PHP
关注(0)|答案(6)|浏览(126)
record of
id  fare    commission  routecode   vehicle number  productcode date    time    driver  owner name
15  12345   123 4533    1   3344    2011-03-18  00:00:00    yasir   saleem
20  a   a   3433    1   2333    2011-03-25  00:00:00    yasir   saleem
36  11111   11111   3433    1   2333    2011-03-25  16:13:12    yasir   saleem
9   1233    123 3433    nk-234  2333    2011-03-24  00:00:00    siddiq  aslam
21  1200    120 4533    nk-234  7655    2011-03-24  00:00:00    siddiq  aslam
22  1200    133333  0987    nk-234  2333    2011-03-11  00:00:00    siddiq  aslam
23  10000   11  4533    nk-234  7655    2011-03-19  00:00:00    siddiq  aslam
25  122 12  0987    nk-234  2333    2011-03-11  00:00:00    siddiq  aslam
26  1000    100 3344    nk-234  7655    2011-03-11  00:00:00    siddiq  aslam
27  1000    100 3344    nk-234  2333    2011-03-10  00:00:00    siddiq  aslam
34  100 10  3344    nk-234  2333    2011-03-18  00:00:00    siddiq  aslam
35  100 10  3344    nk-234  2333    2011-03-02  00:00:00    siddiq  aslam
5   1000    100 1234    wq1233  3344    2011-03-10  22:30:00    waqas   sami
6   2222    22  1234    wq1233  3344    2011-03-17  22:30:00    waqas   sami
24  a   a   4533    PSS-1234    7655    2011-03-02  00:00:00    salman  salam
42633   145175

我想在id之前添加另一个列,它计算
行。它应该从1开始,每行递增1。

rta7y2nd

rta7y2nd1#

如果在SELECT语句中是指:
说你的选择是

select * from tbl

它变成了

select @n := @n + 1 RowNumber, t.*
from (select @n:=0) initvars, tbl t

备注:

  1. select @n:=0用于将全局变量重置为0
  2. @n := @n + 1从1开始,每行增加1。此列命名为“RowNumber”
v1l68za4

v1l68za42#

向表myTable添加一个新列mySerial,并将每行递增1(从'1'开始):

ALTER TABLE myTable ADD mySerial int(11) DEFAULT '0' NOT NULL;
SELECT @n:=0;
UPDATE myTable SET mySerial = @n := @n + 1;
w8ntj3qf

w8ntj3qf3#

所以,你想在每一行中添加一个列,其中包含行数?这是不可能自动完成的,但是你可以添加一个列并在每次插入时更新它(UPDATE table SET (rowcount = SELECT COUNT(*) FROM TABLE)),但是我想知道你为什么要这样做?在我看来,您似乎想解决一些问题,我认为一定有比添加rowcount列更好的解决方案。

ws51t4hk

ws51t4hk4#

我不确定我是否完全理解你的问题,但要在id前面添加一列,请运行此查询

ALTER TABLE `yourtablename` ADD `yournewfield` VARCHAR( 50 ) NOT NULL BEFORE `id`
hk8txs48

hk8txs485#

你可能想看看这篇博客文章:http://jimlife.wordpress.com/2008/09/09/displaying-row-number-rownum-in-mysql/
似乎有一个向查询结果添加行号的解决方案,这可能会解决您的问题。

dgsult0t

dgsult0t6#

1.为行分配序号
以下语句使用ROW_NUMBER()函数为products表中的每一行分配一个序号:
linkhere试试这个:行数
row_number()over(按列名称排序)
例如:SELECT ROW_NUMBER()OVER(ORDER BY productName)row_num,productName,msrp FROM products ORDER BY productName;

相关问题