SQL 行番号など、

PostgreSQL 8.4 以上で使えるようになったウィンドウ関数
テーブルのレコード総数を SELECT句に含めたい場合 COUNT(1) OVER() を指定する。

SELECT *,  COUNT(1) OVER()  AS  total
FRON items

これは、MySQL でも使える。

同様に行番号を SELECT句に付与したい場合は、ROW_NUMBER()関数
  ROW_NUMBER() OVER()
か、
  ROW_NUMBER() OVER(ORDER BY ソートしたい列 ASC)
を使用する。

この ROW_NUMBER() を使えば以下の様にも、LIMIT~OFFSET のような目的のクエリを
書くこともできる

SELECT 
   a.*
FROM (
        SELECT 
        *,  ROW_NUMBER() OVER(ORDER BY id ASC) AS rownum
        FROM items
        WHERE 1=1
    ) a 
WHERE a.rownum >=1 AND a.rownum <=15
ORDER BY a.rownum ASC

これは、MySQL でも同じように書ける。