mysqlパケットに行番号を付ける
2824 ワード
SELECT
case when @v <> _apply.PATIENT_ID then @r :=1 else @r :=@r + 1 end AS row_num_v_,
case when @v <> _apply.PATIENT_ID then @v := _apply.PATIENT_ID else @v end AS row_num_v,
_apply.ID,
_apply.MEDICAL_CARD_NO,
_apply.EXPERT_RESOURCE_ID,
_apply.PATIENT_ID,
_apply.DEPT_ID,
_apply.REG_DATE,
_apply.COMPANY_ID
FROM
reg_apply _apply,
(SELECT @r := 0) b,
(SELECT @v := -1) bv
ORDER BY
_apply.PATIENT_ID,
_apply.REG_DATE DESC
mysqlにrow_はありませんnumber()overは,曲線救国法を用いて解決できる.
1、グループ化するフィールドでソートします.
2、2つの変数を1つの@rを行番号とし、@vをグループ番号として定義します.次に、ビジネス・テーブルにこの2つのフィールドをリンクします.
3、caseグループ番号と現在のグループ化するフィールドを比較します.
4、上の2つのケースの位置を変えることができなくて、いいえ者は失効します
転載先:https://www.cnblogs.com/kongxianghao/p/7371674.html