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。
答案 0 :(得分:23)
如果你的意思是在SELECT语句中:
说你的选择是
select * from tbl
变成
select @n := @n + 1 RowNumber, t.*
from (select @n:=0) initvars, tbl t
注意:
select @n:=0
用于将全局变量重置为0 @n := @n + 1
每行增加1,从1开始。此列名为“RowNumber”答案 1 :(得分:9)
向表mySerial
添加新列myTable
并将每行递增1(从'1'开始):
ALTER TABLE myTable ADD mySerial int(11) DEFAULT '0' NOT NULL;
SELECT @n:=0;
UPDATE myTable SET mySerial = @n := @n + 1;
答案 2 :(得分:0)
那么,您想要在每行中添加一个包含rowcount的列吗?这是不可能自动执行此操作,但您可以添加一个列并在每个插入(UPDATE table SET (rowcount = SELECT COUNT(*) FROM TABLE)
)上更新它,但我想知道您为什么要这样做?在我看来,你想解决一些问题,我认为必须有一个比添加rowcount列更好的解决方案。
答案 3 :(得分:0)
我不确定我是否完全理解您的问题,但要添加一个id前面的列运行此查询
ALTER TABLE `yourtablename` ADD `yournewfield` VARCHAR( 50 ) NOT NULL BEFORE `id`
答案 4 :(得分:0)
您可以查看此博文:http://jimlife.wordpress.com/2008/09/09/displaying-row-number-rownum-in-mysql/
似乎有一个解决方案可以为查询结果添加行号,这可能会解决您的问题。