
私は仕事上でデータベースを扱っていて、タイトルのような処理を行う必要があるのですが、いかんせん方法がわからずネット上を検索しても同様だったためここで質問させていただきます。
質問点を簡単に説明いたしますと、
たとえばAというテーブルがあって、
項目名1 項目名2 項目名3 項目名4
A あ ア 亜
A い ア 以
A う ア 宇
B え イ 江
B お イ 尾
上のような構造になっている場合に「項目名1」について重複している項目を排除し、結果として
項目名1 項目名2 項目名3 項目名4
A あ ア 亜
B え イ 江
上のようなデータを取得したいのです。
この時に、Aの重複を排除して取得するレコードは1~3行目のどれでもよいです。
また、データを取得する際には必ずそのレコードの「全項目」を取得したいのでDistinctはうまく使えませんでした。
どなたか詳しい方、方法を教えてくださると幸いです。回答お待ちしております。
No.3ベストアンサー
- 回答日時:
比較可能で一意性のある値をもてる項目6をテーブルに追加して、
select T.* from T, (select Item1,min(Item6) as Item6 from T group by item1) W where T.item6=W.item6;
――ってやるのが、一番手っ取り早いと思います。
他のところに影響がでないのであればですが。
oracleならrowidを使うとか、レコードの更新時刻を突っ込むとか。
No.4
- 回答日時:
Oracleだったらこれでもありかと。
select 項目1, 項目2, 項目3, 項目 from テーブル名 where rowid =
(select min(rowid) from テーブル名 group by 項目1)
No.2
- 回答日時:
SELECT
項目名1,
Min(項目名2) AS Alias,
項目名3,
項目名4
FROM
テーブル
GROUP BY
項目名1,
項目名3,
項目名4
この回答への補足
ご回答ありがとうございます。
教えていただいたSQL文についてですが、土日は会社が休みなため月曜日あたりに試してみたいと思います。
ところで、そのSQL文ではSelect文で項目名2に対してMin()を利用して1つの行を選択していますよね。
疑問なのですが、何故項目名1の重複を排除したいのに項目名2に対して条件を設定しているのでしょうか?
また、質問の補足ですが、
項目名1と同様に項目名2~4にも重複する値が存在することがあります(一意でない)。
引き続き回答よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- Windows 10 ウィンドウズ11でスリープの設定は? 1 2022/05/26 02:41
- 電気・ガス・水道業 簡易専用水道の定期清掃について 3 2023/03/26 16:36
- その他(ソフトウェア) Googleフォーム、効率的な入れ方 2 2022/10/03 22:44
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 3 2022/08/21 20:51
このQ&Aを見た人はこんなQ&Aも見ています
-
一部のカラムでdistinctし全てのカラムを取得
MySQL
-
SQL文で複数の項目のうちひとつの項目のみの重複を排除する方法を教えてください。
MySQL
-
[SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい
その他(データベース)
-
-
4
SQLで部分的にGROUP BYしたいとき
Oracle
-
5
重複していないレコードの抽出方法について
MySQL
-
6
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
7
SELECT 文 GROUP での1件目を取得
SQL Server
-
8
GROUP BYを行った後に結合したい。
Oracle
-
9
CASE文のエラーについて
Oracle
-
10
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
11
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
12
1列について重複行を除いて全列をSELECTするSQL文
MySQL
-
13
2つの項目が重複するレコードを抽出する方法はありますか?
MySQL
-
14
SQLで、Join句で結合したテーブルにデータが無い場合について
SQL Server
-
15
SQL Left Join で重複を排除するには
SQL Server
-
16
SELECTで1件のみ取得するには?
Oracle
-
17
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
18
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
19
OracleのSQL*PLUSで、データが折り返されて見づらいのですが。。。
その他(データベース)
-
20
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLで特定の項目の重複のみを排...
-
DataGridView 右詰め
-
OnNotifyでカーソル変化を禁止...
-
fgetcsvでCSVを取得した際のnul...
-
メニュー構築
-
COBOLについて
-
リストビューの項目の内容を変...
-
[WHS]定数宣言の際にリテラル文...
-
Auto Filter
-
差し込み後、元データを変更し...
-
Outlook 送受信エラー
-
access2021 VBA メソッドまたは...
-
for whichの使い方
-
INSERT文でフィールドの1つだ...
-
フィルターかけた後、重複を除...
-
顧客データベースを作る場合、...
-
VBAのAccessでDATE型のINSERT
-
NVLとDECODEのスピード差
-
ACCESS ツリービューの作り方
-
エクセルのxans.について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLで特定の項目の重複のみを排...
-
バッチでcsvファイルの指定のカ...
-
リストビューの項目の内容を変...
-
DataViewで複数条件の...
-
COBOLについて
-
php mysql で WHERE句内に変数...
-
初心者)DataGridViewの入力桁...
-
fgetcsvでCSVを取得した際のnul...
-
COBOL プログラミング
-
C# リストビューの値を取得
-
jQueryで、カラム幅を変更でき...
-
C#: ソースコードから16進数の...
-
[WHS]定数宣言の際にリテラル文...
-
一覧画面のカラムヘッダクリッ...
-
前回ご教授いただいたコードに...
-
¥編集てどうするのか教えてく...
-
ListViewの選択について
-
Zend_DBを使ったselectで文字が...
-
VB6でActiveReport1.5Jを使って...
-
DataGridView 右詰め
おすすめ情報