如何在MySql中选择它的行号?

时间:2016-06-01 03:22:33

标签: mysql row row-number

修改列MySql后报告错误:

ALTER TABLE MyTable MODIFY mycolumn DECIMAL(9,4)
[2016-05-31 15:43:03] [22001][1264] Data truncation: Out of range value for column 'mycolumn' at row 33934497

问题是如何选择编号为33934497的行?

重要提示

据我所知,MySql将行号附加到表中的每一行。所以必须有一个方法来选择这个数字。 LIMIT子句不是一种情况,因为它限制了已选择的行,例如select中的行,而不是表中的行。此外,selectmodify语句中的顺序可能不同,因此使用LIMIT不是解决方案。

已更新

表格中有关最小值和最大值的信息:

select Max(mycolumn) from MyTable = -333240.0000

select Min(mycolumn) from MyTable = 1000000.0000

1000000-333240适合DECIMAL(9,4)吗?

2 个答案:

答案 0 :(得分:0)

如果您当前的列类型为INT并且您尝试切换到DECIMAL(9,4),我会选择包含大于5位数(9-4)的所有记录,即99999.

所以只是

SELECT * 
FROM mytable
WHERE mycolumn>99999

答案 1 :(得分:-1)

try {
    Socket socket = new Socket(DESTINATION_ADDRESS, DESTINATION_PORT);
    // Exmp : Socket socket = new Socket("192.168.0.101", 80);
    OutputStream outToServer = socket.getOutputStream();
    DataOutputStream out = new DataOutputStream(outToServer);
    out.writeUTF(SEND_STRING); 
    // Exmp : out.writeUTF("TEST");
    socket.close();

} catch (Exception e) {
    e.printStackTrace();
}

OFFSET - 跳过n行 注意它使用你的ORDER BY