私は次のような構造を持つテーブルがあります。私は今年のエントリを使用する「差分」列を作成したいと思いますMySqlを使用したクエリから作成されたテーブルに2つのエイリアスを付けるにはどうすればよいですか?
year
----------
1995
2000
2010
*(最初の3行)
:
ind | year | diff
-----------------
1 | 1995 | 0
2 | 2000 | 5
3 | 2010 | 10
を
これを行うには、私は列を作成して、ここに示唆された修正を試みました:http://www.mysqltutorial.org/mysql-tips/mysql-compare-calculate-difference-successive-rows/
私は成功しませんでしたw i番目の私が作成したテーブルに2番目の別名を与える:
SET @row_number = 0;
SELECT
g1.ind
(g2.year - g1.year) AS diff
FROM (
select * from
(SELECT
(@row_number:[email protected]_number + 1) AS ind, year
FROM
movies) t
) g1
INNER JOIN
g1 g2 ON g2.ind = g1.ind + 1
エラーは、次のとおりです。 エラーコード:1146テーブル「db_name.g1は」私がもしわからない
Idsが常に連続していますか? – Strawberry
私は自分の質問を再編集しました。実際にはないので、連続ID列を作成しましたが、今作成したテーブルにエイリアスを付けることに問題があります。 – Bugu
diff列とind列を作成しますか? – Strawberry