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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

410閲覧

MySQLでuser_idごとにidを1から始める

iceE

総合スコア25

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2020/11/14 06:53

編集2020/11/14 07:37

前提・実現したいこと

user_ididcontent
4573981~~~
2~~~
7493821~~~
8567091~~~
2~~~
3~~~

のように、user_idがあるところは、1,2,3...と続き、新しいuser_idになったらまた1,2と振り出しに戻るようにデータを書き込んでいきたいです。
そしてこの場合、user_id(例:213454)のidが2のcontentというカラムの値を取得という風にデータを取得することは可能ですか?

無理な場合

user_ididcontent
4573981~~~
4573982~~~
7493821~~~
8567091~~~
8567092~~~
8567093~~~

のように、user_idが重複している場合は、idを1,2,3...と入れていき、重複してない場合は、新しく1から入力されるという処理のやり方を教えてほしいです。

補足情報(FW/ツールのバージョンなど)

MySQL v5.7.32

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

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

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

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

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

yambejp

2020/11/14 07:21 編集

表示が崩れてます contentというカラムも見当たりません
iceE

2020/11/14 07:33 編集

修正します。
guest

回答1

0

ベストアンサー

表示順で連番を降るならそれようにソート用のカラムを用意しないといけません

SQL

1CREATE TABLE tbl 2(pk int primary key auto_increment, 3user_id varchar(10), 4id int null, 5content text); 6 7INSERT INTO tbl(user_id,content) 8VALUES 9('457398','~~~'), 10('','~~~'), 11('749382','~~~'), 12('856709','~~~'), 13('','~~~'), 14('','~~~'); 15 16update tbl as t1 17set id=(select @a:=if(t1.user_id='',@a+1,1) from (select @a:=0) as sub) 18order by pk

投稿2020/11/14 11:30

yambejp

総合スコア116724

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

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

iceE

2020/11/16 13:34

ありがとうございます。試してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問