
下記のよう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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
GROUP BYを行った後に結合したい。
Oracle
-
SELECT 文 GROUP での1件目を取得
SQL Server
-
CASE文のエラーについて
Oracle
-
-
4
3つ以上のテーブルをUNIONするのは現時的でないでしょうか?
MySQL
-
5
SELECTの結果で同一行を複数回出力する
Oracle
-
6
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
7
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
-
8
データベースのINT型項目にNULLはNG?
MySQL
-
9
javaで質問です。 文字列2023/2/3(一桁の場合、0埋めなし)の場合にyyyyMMddに変換
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
sqlで、600行あるテーブルを100...
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
クエリ表示と、ADOで抽出したレ...
-
LAST_INSERT_IDで同時にアクセ...
-
Updateの複数テーブル条件時のL...
-
SQL Left Join で重複を排除す...
-
グラビアアイドルからAV女優に...
-
【Transact-sql】 execの結果を...
-
証明写真機の設置場所が知りたい
-
PL/SQLの変数について
-
期間の重複を調べるSQL文につい...
-
load dataするときに、最後の列...
-
入力値と外部キーをINSERTするには
-
1テーブル&複数レコードの更新...
-
VMware Playerで拡張子「vmx」...
-
全角文字を含む行を検索
-
MySQL5でキーがないテーブルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
VIEWの元のテーブルのindexって...
-
エラー 1068 (42000): 複数の主...
-
SQLサーバから、項目の属性(型...
-
select文のwhere句に配列を入れ...
-
SQL Left Join で重複を排除す...
-
Access パラメータクエリをcsv...
-
マイクラPC版のコマンドで効率...
-
【Transact-sql】 execの結果を...
-
sqlで、600行あるテーブルを100...
-
SQLにて特定の文字を除いた検索...
-
1テーブル&複数レコードの更新...
-
PL/SQLの変数について
-
WordpressのContact form 7でzi...
-
複数テーブルのGROUP BY の使い...
-
バインド変数について
-
inner joinをすると数がおかし...
-
MySQLのint型で001と表示する方...
-
updateを1行ずつ実行したい。
おすすめ情報
2つ目のSELECT文のWhere句でnot exists(1つ目のSELECT)もANDで加えましたが上手くいきませんでした。クエリではなくても
同じことをするには、変数にいれたあとで、array_unique()関数で重複箇所は削除できましたが、データベース上の操作でもうまくいかないものかと思いまして尋ねてみました。