質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

2回答

5684閲覧

BigQuery(標準SQL)で、AUTO_INCREMENTのように自動で1から数値を割り振っていきたい

SatoshiMaruyama

総合スコア16

BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2018/01/12 02:55

###前提・実現したいこと
BigQuery(標準SQL)で、AUTO_INCREMENTのように自動で1から数値を割り振っていきたいです。

実現したいことは「Googleアナリティクスのセッション定義を自分で作ること」です。

基本的なセッション定義(30分以内、同一デバイス等)は把握しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

INSERTする際に、auto incrementのカラムの最大値をとり1を足して
投入すればよいのではないでしょうか?

投稿2018/01/12 03:06

yambejp

総合スコア114574

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2018/01/12 04:21

同時に動くとダブりそうな気がします。
yambejp

2018/01/12 04:28 編集

otnさん、ありがとうございます たしかにDBにおける競合はいつも想定が必要ですね とりあえずカラムにunique属性さえつければダブルことはないでしょう 万が一uniqueがつけられないDBの仕様だった場合は ダブったデータの番号を強制で変更する仕組みにするとかですかね まぁそもそもuniqueで設定できないならidとしては利用できないので auto incrementする意義もないですけど。 uniqueにしたらしたでダブリデータは入力がキャンセルされてしまうので エラー時の再投入など検討しないといけませんが 念のためトランザクションで作業するのも必要でしょうね
otn

2018/01/12 05:04

なるほど。uniqueでチェックしてINSERTを失敗でロールバックさせると言う事ですね。 それなら大丈夫そうです。 これも性能問題が出そうですが。
SatoshiMaruyama

2018/01/16 00:21

ありがとうございます。最大値を取得して1を足す方法で実現しました。併せてuniqueとエラー時のロールバック想定に関する件もありがとうございます。参考になりました。
guest

0

BigQueryは知らないですが、DBMSにその機能がないなら、カウンターを設けるしかないと思います。
排他でボトルネックになりますが。

投稿2018/01/12 04:23

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問