これらはテーブルエイリアスであるため、参照する必要があるときにテーブルの名前全体を指定する必要はありません。
奇数番号のレコードのみを取得するには、次を使用します:
SELECT x.*
FROM (SELECT u.pg_id AS ID,
u.pg_url AS URL,
u.pg_title AS Title,
u.pg_content_1 AS Content,
@rownum := @rownum + 1 AS rownum
FROM root_pages u
JOIN (SELECT @rownum := 0) r
WHERE u.parent_id = '7'
AND u.pg_id != '7'
AND u.pg_cat_id = '2'
AND u.pg_hide != '1'
ORDER BY u.pg_created DESC) x
WHERE x.rownum % 2 != 0
偶数のレコードを取得するには、次を使用します:
SELECT x.*
FROM (SELECT u.pg_id AS ID,
u.pg_url AS URL,
u.pg_title AS Title,
u.pg_content_1 AS Content,
@rownum := @rownum + 1 AS rownum
FROM root_pages u
JOIN (SELECT @rownum := 0) r
WHERE u.parent_id = '7'
AND u.pg_id != '7'
AND u.pg_cat_id = '2'
AND u.pg_hide != '1'
ORDER BY u.pg_created DESC) x
WHERE x.rownum % 2 = 0
説明
%
MySQL構文のモジュラス演算子です。除算の余りを返します。たとえば、1%2は0.5ですが、2%2はゼロです。次に、これをWHERE句で使用して、表示される行をフィルタリングします。