我试着在174行的表中找到所有年份。 2016年和2017年有两个不同的年份。并添加到查询的响应和ID,它们对应于"行数"回应。
以下是查询:
SET @n=0;
SELECT YEAR (`Date`) AS Libelle, @n := @n + 1 AS id FROM Datas GROUP by Libelle
回复是:
|Libelle| Id|
| 2016| 1|
| 2017|174|
获得的方式是什么:
|Libelle| Id|
| 2016| 1|
| 2017| 2|
174对应于我表格中的最后一条记录。而且我知道@n的所有其他行都会增加。
你有想法这样做吗?
答案 0 :(得分:1)
试试这个。所以计数器只对结果起作用:
SELECT @n := @n + 1 AS id , tmp.*
FROM (
SELECT DISTINCT YEAR (`Date`) AS Libelle FROM Datas GROUP by Libelle ) AS tmp,
( SELECT @n := 0) as parameter;
答案 1 :(得分:0)
或许这样的事情?
SELECT
t1.Libelle,
@n := @n + 1 AS id
FROM (
SELECT DISTINCT YEAR(`Date`) AS Libelle
FROM Datas
GROUP BY Libelle
) t1,
(
SELECT @n := 0
) t2;