Mysql RowNumberを実現

1620 ワード

参考:http://www.uncletoo.com/html/mysql/1060.html
行番号をグループごとに追加します。
  • 変数SET@row_を設定します。number=0;
  • mysqlの中で毎回コードを加算します。以下のように
  • です。
    SET @row_number = 0;
     SELECT (@row_number:=@row_number + 1) AS num, firstName, lastName FROM employees LIMIT 5;
    各グループのデータに連続したIDを付けます。
  • 変数ログを設定します。number
  • 現在のフィールドの現在のCstomerNumberと前のcustomerNumberが等しい時row_number+1、さもなければrow_number=1
  • は一つのcustomerを使います。last変数の前のcustomerNumberコードは以下の通り
  • です。
    set @row_number := 1;
    SELECT @row_number := CASE WHEN @customer_last = customerNumber THEN @row_number + 1 ELSE 1 END AS num, @customer_last := customerNumber as CustomerNumber, paymentDate, amount FROM payments ORDER BY customerNumber;