Oracleのテーブルには、疑似列「ROWID」があるんだそうです。
この「ROWID」は、内部的に自動で作成される疑似列とのこと。
仮の列になっていて、隠れている列になっていて、通常は意図的に指定しない限り、表に出てきません。
「ROWID」は、18桁の1意な文字列になっているようです。
文字列には、データオブジェクト番号、相対ファイル番号、ブロック番号、行番号などを含んでいるとのこと。
特徴として、「ROWID」は検索が速いというメリットがあるので、覚えておけば、少し得なことがあるかもしれません。
下記の例では、type をグルーピングさせた場合
同じ type のレコードの中でも最初に挿入された方のレコードが優先されるように結果が取得できます。
グルーピングで一番古いレコード取得するSQL
SELECT
table1.type
,table1.rid
FROM (
SELECT MIN(rowid) AS rid, type
FROM TMP_CUSTHTML_USERS
GROUP BY type
) table1
/
以上、Oracle(オラクル)でグルーピング検索のちょっとした応用でした。
0 件のコメント:
コメントを投稿