teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

加筆修正

2019/03/19 07:57

投稿

退会済みユーザー
answer CHANGED
@@ -8,4 +8,12 @@
8
8
  それぞれ別のクエリーとして実行してほしい。
9
9
 
10
10
  で、何をやりたいのか、やろうとしているのかわからない謎コードなので、
11
- これ以上アドバイスしにくいです。
11
+ これ以上アドバイスしにくいです。
12
+
13
+ データベースを検索した結果を表示しようとしている、とのことなので、
14
+ おそらくヒットした件数を求めて表示するのと、
15
+ offsetとlimitでページネーション前提の表示処理なのかなと仮定すると、
16
+ 「select count(*)」する場面ではoffsetとlimitはつけない。
17
+ これで一つクエリーを実行して件数を変数に取得しておく。
18
+ そしてクエリーを分けて、「select * ~ offset~limit~」を実行して
19
+ 表形式にでも仕立てて表示する流れ。

1

加筆修正

2019/03/19 07:57

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,11 @@
1
1
  [3.5. ウィンドウ関数](https://www.postgresql.jp/document/9.6/html/tutorial-window.html)
2
2
  PostgreSQLでのOVER()って、ウィンドウ関数だと思うのだけど、全然必要な文法に則ってない書き方をしているので、そのSQLが何をしようとしているか想像つかない。
3
- つまり、クエリーが動いてないと思われます。
3
+ つまり、クエリーが動いてないと思われます。
4
+
5
+ それと、クエリーで「select *」なら対象のレコードを全カラム返すけど、
6
+ 「select count(*)」ならレコード数ひとつ返すだけなので、
7
+ それを「select *, count(*)」って書いたところで同時には動かないんよ。
8
+ それぞれ別のクエリーとして実行してほしい。
9
+
10
+ で、何をやりたいのか、やろうとしているのかわからない謎コードなので、
11
+ これ以上アドバイスしにくいです。