Mysql 按两个日期列对视图排序,并添加排名列
我有一个类似下面的mysql表 id name firstDate secondDate == ===== ========= ========== A1 Carol 2000-07-24 1956-07-24 A2 Victor 2000-07-24 1980-01-13 A3 Paul 1999-12-10 1985-01-10 A4 Mia 2000-06-17 1945-10-22 A5 Luke 2000-07-24 1960-03-19 id名称firstDate secondDate == ===== ========= ========== A1卡罗尔2000-07-241956-07-24 A2维克多2000-07-241980-01-13 A3保罗1999-12-10 1985-01-10 A4 Mia 2000-06-17 1945-10-22 A5卢克2000-07-241960-03-19 我需要创建具有以下格式的视图:Mysql 按两个日期列对视图排序,并添加排名列,mysql,sql,Mysql,Sql,我有一个类似下面的mysql表 id name firstDate secondDate == ===== ========= ========== A1 Carol 2000-07-24 1956-07-24 A2 Victor 2000-07-24 1980-01-13 A3 Paul 1999-12-10 1985-01-10 A4 Mia 2000-06-17 1945-10-22 A5 Luke 2000-07-24
SET @rank := 0;
SELECT * , @rank := @rank + 1 AS rank FROM
(
SELECT id , name , firstDate , secondDate
from table1
ORDER BY firstDate asc, secondDate asc
) zz
还是这个
SELECT * , @rank := @rank + 1 AS rank FROM
(
SELECT id , name , firstDate , secondDate
from table1
ORDER BY firstDate asc, secondDate asc
) zz, (SELECT @rank := 0) z;
你可以简化echo\u Me的回答:
SET @rank := 0;
SELECT id , name , firstDate , secondDate , @rank := @rank + 1 AS rank
FROM table1
ORDER BY firstDate asc, secondDate asc
看