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。
6条答案
按热度按时间rta7y2nd1#
如果在SELECT语句中是指:
说你的选择是
它变成了
备注:
select @n:=0
用于将全局变量重置为0@n := @n + 1
从1开始,每行增加1。此列命名为“RowNumber”v1l68za42#
向表
myTable
添加一个新列mySerial
,并将每行递增1(从'1'开始):w8ntj3qf3#
所以,你想在每一行中添加一个列,其中包含行数?这是不可能自动完成的,但是你可以添加一个列并在每次插入时更新它(
UPDATE table SET (rowcount = SELECT COUNT(*) FROM TABLE)
),但是我想知道你为什么要这样做?在我看来,您似乎想解决一些问题,我认为一定有比添加rowcount列更好的解决方案。ws51t4hk4#
我不确定我是否完全理解你的问题,但要在id前面添加一列,请运行此查询
hk8txs485#
你可能想看看这篇博客文章:http://jimlife.wordpress.com/2008/09/09/displaying-row-number-rownum-in-mysql/
似乎有一个向查询结果添加行号的解决方案,这可能会解决您的问题。
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;