![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
group byで特定のカラムをまとめる際に、最後(最新)のレコードを抽出したいのですが
最初(古い)の行が抽出されてしまいます。
例えば、threadカラムとuptimeカラムがあるテーブルBBSで
threadカラムをgroup byでまとめる際にuptimeの降順(desc)でまとめたい場合
どのようにしたらいいでしょうか?
【テーブルBBS】
id thread uptime
1 1 1230100000
2 2 1230200000
3 1 1230300000
4 3 1230400000
5 1 1230500000
6 2 1230600000
select * form bbs group by thread order by uptime desc
だと
thread uptime
3 1230400000
1 1230300000
2 1230200000
になってしまいます。
次のような結果を表示するにはどのようにしたらいいでしょうか。
thread uptime
2 1230600000
1 1230500000
3 1230400000
また、DISTINCTを使うと同じフィールド内に重複したレコードがある場合は最初のレコードのみ表示されますが、最後のレコードのみ表示するにはどのようにすればいいのでしょうか?
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
単にthread毎にまとめた最大のuptimeをとるだけですよね?
select thread,max(uptime) as uptime form bbs group by thread order by uptime desc
これにidの情報がほしいということだと、サブクエリが必要になります
No.1
- 回答日時:
明示的に
select thread,uptime
from ( select thread,max(uptime) as uptime from bbs group by thread )
order by uptime desc
と書けばいいのでは。
> また、DISTINCTを使うと同じフィールド内に重複したレコードがある場合
> は最初のレコードのみ表示されますが、最後のレコードのみ表示するには
> どのようにすればいいのでしょうか?
これは具体的にはどんな現象でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
テーブルの最後(最新)のレコードを抽出したい
MySQL
-
SELECT 文 GROUP での1件目を取得
SQL Server
-
sqlserverにはグループ集計のfirstとlastがありません??
SQL Server
-
-
4
<SQL>重複しているデータの場合は最新の日時のものを取得したい
SQL Server
-
5
SELECTで1件のみ取得するには?
Oracle
-
6
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
7
GROUP BYを行った後に結合したい。
Oracle
-
8
DataTableから条件を満たした行を別のDatatableへコピーしたい
その他(プログラミング・Web制作)
-
9
カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。
SQL Server
-
10
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
11
[SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい
その他(データベース)
-
12
SELECT文で、指定カラム以外の全カラムを一括指定って可能でしょうか
MySQL
-
13
Oracle:グループごとに最大日付の行を1件取得
Oracle
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルの列数を調べたい
-
group byで最後のレコードを抽...
-
MYSQLで小数点を表示する場合と...
-
SQLの範囲指定検索の質問です。
-
データの暗号化について
-
MYSQLのストアドでの動的SQLに...
-
MySQLでのデータ入力について
-
WHEREなどの条件が多い場合、ど...
-
MySQLで、指定の複数カラムのみ...
-
フレンドリストのようなものを...
-
INDIRECT関数の代替方法は?
-
SELECT文で、指定カラム以外の...
-
一部のカラムでdistinctし全て...
-
MYSQLで全てのカラムから検索す...
-
SQLでカラムを追加し、条件に合...
-
カラムをコピーして、新規カラ...
-
now()かCURRENT_TIMESTAMPか
-
カラムとコラムの使い分け
-
GREATESTで NULLをスルーする方...
-
DBエラーの意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの列数を調べたい
-
[MySQL]LOAD DATA INFILE一部レ...
-
WHEREなどの条件が多い場合、ど...
-
group byで最後のレコードを抽...
-
フレンドリストのようなものを...
-
MYSQLで小数点を表示する場合と...
-
MySQL AUTO_INCREMENTが最大に...
-
時間範囲が重複したレコードを...
-
MYSQLのストアドでの動的SQLに...
-
「VARCHAR(255)」を「text」に...
-
MySQL テーブルの一部のカラム...
-
select * での表示が崩れる?
-
データの暗号化について
-
MySQLのselect文で、最大ID値の...
-
カラムの値を、条件により動的...
-
betweenを使うyyyy/mm/ddでの範...
-
MySQL 改行コードを含む文字列...
-
MySQLで、指定の複数カラムのみ...
-
mysqlでカンマデータのgroup by
-
ここで「INSERT INTO」を使う意...
おすすめ情報