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

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

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

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

SQL

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

Q&A

解決済

2回答

493閲覧

【Mysql】特定カラムに対してLimit条件を指定してレコードを抽出したい

yuriko.sa

総合スコア1

MySQL

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

SQL

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

0グッド

0クリップ

投稿2021/05/26 07:39

前提・実現したいこと

【Mysql】特定カラムに対してLimit条件を指定してレコードを抽出したい

質問詳細

LIMITを特定のカラムを基準に適応する事は可能でしょうか?
例として

noidname
11000太郎
21000花子
31000次郎
42000太郎
52000花子
63000花子
74000次郎
84000花子
94000次郎
104000次郎

上記のようなデータがあるとし同一idのレコードを2件ずつ抽出したいです。noは降順で上位2件です。
希望する結果

noidname
11000太郎
21000花子
42000太郎
52000花子
63000花子
74000次郎
84000花子

※id=3000の場合、同一idのレコードが2件以上ないため、除外せずに1レコードだけでも上記のように表示させたいです。

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

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

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

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

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

sazi

2021/05/26 08:10

MySQLのバージョンは何ですか?
guest

回答2

0

MySQL知らんけどこんなんじゃダメだっけ?

sql

1select t.* 2from table t 3where t.no in ( 4 select no 5 from ( 6 select x.no 7 from table x 8 where x.id=t.id 9 order by x.no 10 limit 2 11 ) 12)

投稿2021/05/26 08:19

sousuke

総合スコア3830

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

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

sousuke

2021/05/26 08:21

あー終わってた!
guest

0

ベストアンサー

やり方はいろいろあると思いますが、RANK()関数などで実現するのがよいかと思います。

SQL

1SELECT * 2FROM ( 3 SELECT *, RANK() OVER (PARTITION BY id ORDER BY no) rnk 4 FROM s 5) AS t 6WHERE rnk <= 2

投稿2021/05/26 07:58

neko_the_shadow

総合スコア2349

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

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

sazi

2021/05/26 08:12

Window関数を使用する場合はバージョンを確認した方が良いかと思います。
yuriko.sa

2021/05/26 08:17

やりたいことが実現できました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問