根据日期为 mysql 数据提供行号

Giving a row number to mysql data based on date

我一直在尝试为我的数据添加一个行号,即每一行都会有一个基于我的排序的数字,如果我根据日期列出它们,那么最旧的日期将获得行号 1 和依此类推,而不管它们在数据库中存储的实际 ID。

我已经写了这个查询,但是如果我插入一个日期比之前的列早的列,它不会得到我想要的行号 1。

这是我的查询:

SET @row_number=0; SELECT @row_number := @row_number +1 AS 'row number', physiotherapy_evaluation_form_id AS 'id',
CONCAT( student_first_name, ' ', student_second_name, ' ', student_third_name, ' ', student_last_name ) AS 'student name',  
therapist_first_name, date FROM physiotherapy_evaluation_form,student, therapist WHERE therapist_id = therapist_id_fk 
AND student_id_fk  =student_id AND  student_id = 2 AND date BETWEEN '2015-01-01' AND '2015-03-10' ORDER BY date ASC 

我正在使用 C# 和 windows 表单。

我得到的是:

我想要这种格式

row     date
1       2015-01-10
2       2015-02-02
3       2015-03-05

我能够通过单独进行与我的订单相关的查询并将其结果添加到 select row_number

的第一个查询来解决它

这里是更正后的代码,以防有人想知道:SET @row_number=0; SELECT @row_number := @row_number +1 AS 'row number', table1.* FROM (SELECT physiotherapy_evaluation_form_id AS 'id', CONCAT( student_first_name, ' ', student_second_name, ' ', student_third_name, ' ', student_last_name ) AS 'student name',<br> therapist_first_name,日期来自 physiotherapy_evaluation_form,学生,治疗师 WHERE therapist_id = therapist_id_fk AND student_id_fk =student_id AND student_id = 2 AND date BETWEEN '2015-01-01' AND '2015-03-10' ORDER BY date ASC ) AS table1