
下記のようMySQLを使い、Unionで結合していますが、出力する2つのカラムのうち、一列目のカラムの重複している部分がある行だけ省きたいと思います。そこで、group by を最後に追加したいと思うのですが、動きませんでした。もしかしたら結合したあとにGROUP BYは無理なのかもしれませんが、他のやり方でも可能なら教えてくださいるよろしくお願いします。
(SELECT other_id AS a,send_tim FROM message WHERE user_id =5 GROUP BY other_id)union
(SELECT user_id AS a,send_tim FROM message WHERE other_id =5 GROUP BY user_id)order by send_tim desc GROUP BY a
No.1ベストアンサー
- 回答日時:
unionした2行をカッコでくくってfrom句にいれてgroupbyしてみては?
ありがとうございます。まさかFrom句にくるとは思ってもいませんでした。From句にサブクエリをいれたことがなかったのでイメージがわきませんでしたが、いろいろ調べていくうちにかなり勉強になりまし。
おっしゃるとおりFROM句にいれて
SELECT * FROM((SELECT other_id AS ID,send_tim FROM message WHERE user_id =5 )union
(SELECT user_id,send_tim FROM message WHERE other_id =5 ))as ABC GROUP BY ID ORDER BY send_tim DESC のような形で GROUP BYすることがでまきした。
括弧でくくった部分になにか名前をつけないといけならしいので、適当にABCとしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- MySQL あっってますか?うまくいきません教えてくださいお願いします?? 2 2023/07/01 13:02
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
このQ&Aを見た人はこんなQ&Aも見ています
-
GROUP BYを行った後に結合したい。
Oracle
-
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
-
4
3つ以上のテーブルをUNIONするのは現時的でないでしょうか?
MySQL
-
5
データベースのINT型項目にNULLはNG?
MySQL
-
6
重複していないレコードの抽出方法について
MySQL
-
7
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
-
8
javaで質問です。 文字列2023/2/3(一桁の場合、0埋めなし)の場合にyyyyMMddに変換
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
エラー 1068 (42000): 複数の主...
-
selectした大量データをinsert...
-
select文のwhere句に配列を入れ...
-
期間の重複を調べるSQL文につい...
-
バインド変数について
-
SQL Left Join で重複を排除す...
-
Access パラメータクエリをcsv...
-
[MySQL] 3つのテーブルの結合で...
-
WordpressのContact form 7でzi...
-
inner joinをすると数がおかし...
-
sqlで、600行あるテーブルを100...
-
最小値をUPDATE
-
上位3位を求めるSQL文は?
-
ローカルルーターモードとは
-
updateを1行ずつ実行したい。
-
Postgreのupdateコマンドでエラー
-
ある条件の最大値+1を初番する...
-
少し前に放送されていたオムツ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
sqlで、600行あるテーブルを100...
-
select文のwhere句に配列を入れ...
-
SQLにて特定の文字を除いた検索...
-
WordpressのContact form 7でzi...
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
クエリ表示と、ADOで抽出したレ...
-
マイクラPC版のコマンドで効率...
-
【Transact-sql】 execの結果を...
-
SQL Left Join で重複を排除す...
-
エラー 1068 (42000): 複数の主...
-
[MySQL] UNIQUE制約の値を更新...
-
inner joinをすると数がおかし...
-
1テーブル&複数レコードの更新...
-
Access パラメータクエリをcsv...
-
期間の重複を調べるSQL文につい...
-
Unionした最後にGROUP BYを追加...
-
Updateの複数テーブル条件時のL...
おすすめ情報
2つ目のSELECT文のWhere句でnot exists(1つ目のSELECT)もANDで加えましたが上手くいきませんでした。クエリではなくても
同じことをするには、変数にいれたあとで、array_unique()関数で重複箇所は削除できましたが、データベース上の操作でもうまくいかないものかと思いまして尋ねてみました。