![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
環境はmysql5.2です。
例えば以下のようなテーブルがある時
pref city town
----------------
東京 港区 A町
東京 南区 C町
大阪 北区 D町
大阪 北区 E町
愛知 南区 F町
愛知 南区 G町
prefのみが重複しないように、全てのカラムを取得しようと思っているのですが、
select distinct pref, city, town …
とすると当然全て取得されます
また、
select disitinct pref …
とするとたしかにprefは重複せずにすむのですが、cityとtownを取得することが出来ません。
どのようにすればprefだけは重複させずに全てのカラムを取得することが出来るのでしょうか。
ご存じの方がいらっしゃればご教授お願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
IDの最小値をとるなら簡単な話で
select pref,city,town FROM テーブル
WHERE id IN(SELECT min(id) FROM テーブル GROUP BY pref)
No.2
- 回答日時:
mysql 5.1.54 で確認しましたが
select *
from tbl t1
where not exists
( select 1 from tbl t2
where t1.pref=t2.pref
and ( t1.city, t1.town ) > ( t2.city, t2.town ) );
と書けるようです。
No.1
- 回答日時:
>prefだけは重複させずに全てのカラムを取得する
今回の例で言えば具体的にどういう結果ならよいのでしょうか?
group by してgroup_concatしたいのかな?
この回答への補足
すみません説明が不足していました。
この場合は
pref city town
----------------
東京 港区 A町
東京 南区 C町
大阪 北区 D町
大阪 北区 E町
愛知 南区 F町
愛知 南区 G町
からprefでdistinctして、prefが同じものがある場合、IDが一番小さい物だけを取得したいということです。つまり以下の結果を期待します。
東京 港区 A町
大阪 北区 D町
愛知 南区 F町
説明不足ですみませんでした
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- 所得税 サラリーマンの副業による税金還付。どこまで教えたら「違法な脱税指南」となるのか? 2 2023/03/15 07:43
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- その他(国内) 良く、東京と大坂や名古屋、何処が一番、都会ですか?みたいな質問が有りますけど、あれって「区」まで入れ 3 2022/03/27 17:52
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
SQL文で複数の項目のうちひとつの項目のみの重複を排除する方法を教えてください。
MySQL
-
[SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい
その他(データベース)
-
-
4
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
5
count関数の値をwhere句で使用する方法について
MySQL
-
6
SQL Left Join で重複を排除するには
SQL Server
-
7
GROUP BYを行った後に結合したい。
Oracle
-
8
SELECT 文 GROUP での1件目を取得
SQL Server
-
9
重複していないレコードの抽出方法について
MySQL
-
10
GROUP BYでエラーが発生
SQL Server
-
11
Unionした最後にGROUP BYを追加する 又はそれにかわるような方法はありますか?
MySQL
-
12
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
13
SQL>UPDATEと同時にその件数をCOUNTする方法
その他(データベース)
-
14
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
15
group byで指定したカラム以外のカラムの値を取得したい
PostgreSQL
-
16
含まない言い方ってどうしたらいいんでしょうか
日本語
-
17
Unionの結果全体をOrder By したい。
SQL Server
-
18
1列について重複行を除いて全列をSELECTするSQL文
MySQL
-
19
配列に指定した値が含まれているものを抽出する方法
PostgreSQL
-
20
データソース名および指定された既定のドライバが見つかりません。
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLを作ったのですがうまくいき...
-
SQLです教えてくださいお願いし...
-
SQL教えてください。
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです。こんな感じですか?あ...
-
次の時間帯の勝率の合計を求め...
-
エラー 1068 (42000): 複数の主...
-
SQLです教えてくださいお願いし...
-
htmlコードで書かれた表にphpで...
-
SQLでカラムを追加し、条件に合...
-
int(11)の(11)とは何を意味して...
-
SQLです下記の問合せを行うクエ...
-
#1062 - '0' は索引 'PRIMARY' ...
-
【初歩】ラジオボタンをつかっ...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
utf8bomとutf8mb4の違いがいま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT文で、指定カラム以外の...
-
一部のカラムでdistinctし全て...
-
UNIONする際、片方テーブルしか...
-
GREATESTで NULLをスルーする方...
-
now()かCURRENT_TIMESTAMPか
-
SQLでカラムを追加し、条件に合...
-
MYSQLで全てのカラムから検索す...
-
AUTO_INCREMENTに0はダメ?
-
sql , insert で空行(全ての列...
-
DBエラーの意味
-
MySQLで先頭にカラムを追加
-
構造が異なる二つのテーブルをu...
-
カラムをコピーして、新規カラ...
-
カラムとコラムの使い分け
-
エクセルかワードで家系図を作...
-
頭に0が付く文字
-
空文字のアップデート
-
文字列のカラムを数字と比較したい
-
ドロップダウンリストの連動し...
-
【SQL】select に ワイルドカー...
おすすめ情報