这里的问题是您的数据库正在执行字符串排序,而不是数字排序。计算机将无法查看该数据并推断出语义排序顺序。字符串排序是通过获取两个字符串,然后比较每个字符直到一个字符先于另一个字符来完成的。因此,在您的示例中,每个课程都以“
CS”开头,但是第四个字符是数字字符(与数字类型不同!)。“ 1”的排序要比“ 2”的排序低,然后在“ 1”的排序中,“ 2”的排序要比“
4”的排序低,依此类推。
为了解决这个问题,您可能需要将课程号(“ CS 020”)零填充,或者需要使用带有课程号的单独数字列进行排序。

这里的问题是您的数据库正在执行字符串排序,而不是数字排序。计算机将无法查看该数据并推断出语义排序顺序。字符串排序是通过获取两个字符串,然后比较每个字符直到一个字符先于另一个字符来完成的。因此,在您的示例中,每个课程都以“
CS”开头,但是第四个字符是数字字符(与数字类型不同!)。“ 1”的排序要比“ 2”的排序低,然后在“ 1”的排序中,“ 2”的排序要比“
4”的排序低,依此类推。
为了解决这个问题,您可能需要将课程号(“ CS 020”)零填充,或者需要使用带有课程号的单独数字列进行排序。