不多说先看sql:
查看有的数据:
mysql> select check_no,check_run_number from ap_check_run where check_run_number = 'CHECK_RUN1100007';
| 140      | CHECK_RUN1100007 |
| 140      | CHECK_RUN1100007 |
| 96       | CHECK_RUN1100007 |
| 96       | CHECK_RUN1100007 |
| 96       | CHECK_RUN1100007 |
| 110      | CHECK_RUN1100007 |
| 110      | CHECK_RUN1100007 |
| 110      | CHECK_RUN1100007 |
| 110      | CHECK_RUN1100007 |
| 110      | CHECK_RUN1100007 |
| 99       | CHECK_RUN1100007 |
| 99       | CHECK_RUN1100007 |
| 108      | CHECK_RUN1100007 |
| 136      | CHECK_RUN1100007 |
| 128      | CHECK_RUN1100007 |
| 135      | CHECK_RUN1100007 |
| 128      | CHECK_RUN1100007 |
| 128      | CHECK_RUN1100007 |
| 128      | CHECK_RUN1100007 |
| 135      | CHECK_RUN1100007 |
| 135      | CHECK_RUN1100007 |
| 135      | CHECK_RUN1100007 |
| 144      | CHECK_RUN1100007 |
| 144      | CHECK_RUN1100007 |
| 139      | CHECK_RUN1100007 |
| 139      | CHECK_RUN1100007 |
| 139      | CHECK_RUN1100007 |
| 139      | CHECK_RUN1100007 |
| 98       | CHECK_RUN1100007 |
| 103      | CHECK_RUN1100007 |
| 135      | CHECK_RUN1100007 |
| 134      | CHECK_RUN1100007 |
+----------+------------------+
553 rows in set (0.00 sec)
求最小值:
mysql> select min(check_no) from ap_check_run where check_run_number = 'CHECK_RUN1100007';
+---------------+
| min(check_no) |
+---------------+
| 100           |
+---------------+
1 row in set (0.00 sec)
很明显以上有98、99,96;再看求最大值:
mysql> select max(check_no) from ap_check_run where check_run_number = 'CHECK_RU
N1100007';
+---------------+
| max(check_no) |
+---------------+
| 99            |
+---------------+
1 row in set (0.02 sec)
很明显超过99的太多了 ,而且最大值还比最小小。
很是找不到方向,请问怎么回事,在线等待!!!下面是表结构:
mysql> desc ap_check_run;
+---------------------+---------------+------+-----+-------------------+-------+| Field               | Type          | Null | Key | Default           | Extra |+---------------------+---------------+------+-----+-------------------+-------+| check_run_number    | varchar(20)   | NO   | PRI | NULL              |       || ap                  | varchar(20)   | NO   | PRI | NULL              |       || status              | varchar(20)   | NO   |     | NULL              |       || ap_status           | varchar(20)   | NO   |     | NULL              |       || LUSER               | varchar(40)   | NO   |     | NULL              |       || LDATE               | timestamp     | YES  |     | CURRENT_TIMESTAMP |       || LCHNG               | int(11)       | NO   |     | 0                 |       || check_no            | varchar(40)   | NO   |     | NULL              |       || memo                | varchar(50)   | NO   |     | NULL              |       || po                  | varchar(10)   | NO   |     | NULL              |       || rn                  | varchar(11)   | NO   |     | NULL              |       || id                  | varchar(10)   | NO   | MUL | NULL              |       || to_be_paid          | decimal(18,2) | NO   |     | 0.00              |       || currency            | varchar(3)    | NO   |     | NULL              |       || exchange            | decimal(18,4) | NO   |     | 1.0000            |       || language            | varchar(2)    | NO   |     | NULL              |       || vendor_invoice      | varchar(40)   | NO   |     | NULL              |       || vendor_total        | decimal(18,2) | NO   |     | 0.00              |       || vendor_invoice_date | date          | YES  |     | NULL              |       || paydate             | date          | YES  |     | NULL              |       || due                 | decimal(18,2) | NO   |     | 0.00              |       || ap_total            | decimal(18,2) | NO   |     | 0.00              |       || paid                | decimal(18,2) | NO   |     | 0.00              |       || tn                  | varchar(10)   | NO   |     | NULL              |       |+---------------------+---------------+------+-----+-------------------+-------+24 rows in set (0.00 sec)

解决方案 »

  1.   

    贴建表及插入记录的SQL
    以供测试
      

  2.   

     select min(check_no+0) from ap_check_run where check_run_number = 'CHECK_RUN1100007';改成这个就行了。
      

  3.   

    顶2楼,+0 或则用cast转换成int 试下;
      

  4.   

    版主贴的我还没来得及看  先看看  大哥hql+0可以嘛
      

  5.   


    因为数值型的,是以开头的那个字符来算的,order by起来的,不是以总大小算的。
    所以99的字符串要比 1000的大。
      

  6.   

    基础知识。我的汉语表达能力显然不足以在100字个让您明白。想法办找本软件编程的书籍之类的。看一下什么是数字,什么是字符串,两者有什么区别。或者你可以回答一下,如下7个数据如何排序?A1, 1A, 10, 9, 9A0, 90, BC