テーブルの select 結果順に 行番号を0から付加したいのですが、どうすれば良いのでしょうか?
例;
select *, 結果行番号 from hoge_tb;
よろしくお願いいたします。
SQLで行番号を付ける方法も有りますが、PHP側で対処する場合を書きますね。
$sql = "select * from hoge_tb";
$result = pg_fetch_all(pg_query($sql));
foreach($result as $ln => $row){
echo "行番号:{$ln} ".print_r($row, true)."<br>";
}
要するに配列の添字を使うんですね
SQLで単にやろうとすると面倒でした…
以下、一例。
# カウンタ用にシーケンスを準備しておいて(最初の1回だけ)
CREATE TEMP SEQUENCE counter;
# 各クエリでは以下のような2つのSQLを発行する
SELECT SETVAL('counter', 1, false); SELECT NEXTVAL('counter')-1 AS linenumber,* FROM hoge_tb;
http://www.postgresql.jp/document/pg814doc/html/functions-se...
※PostgreSQLのシステム列でctid(タプルID)てやつが有るんですが、これそのままでは使えないんですね。惜しい。
SELECT ctid AS linenumber,* FROM hoge_tb;
ありがとうございます。SQLで行番号をつける方法をご教授していただけますでしょうか?