3

このクエリを実行して行番号で行を選択しようとしましたが、where 句で不明な列 'row' が引き続き取得されます。このクエリは可能ですか

SELECT @row := @row + 1 AS row, pi.*
FROM ci_patient_info pi
where row = 2
4

2 に答える 2

1

2番目のレコードが必要な場合は、LIMIT句を使用してください。

SELECT  pi.*
FROM ci_patient_info pi LIMIT 1, 1
于 2012-10-10T14:26:21.303 に答える
1

で包むsubquery

SELECT c.*
FROM
   (
      SELECT @row := @row + 1 AS row, pi.*
      FROM ci_patient_info pi
   ) c
where c.row = 2

更新 1

おそらく、サブクエリは次のようになります。

  SELECT @row := @row + 1 AS row, pi.*
  FROM ci_patient_info pi, (SELECT @row:=0) x
于 2012-10-10T14:25:25.587 に答える