mysql:14627
From: HIRATSUKA Sadao <HIRATSUKA Sadao <hiratsuka.sadao@xxxxxxxxxx>>
Date: Thu, 14 Aug 2008 10:04:46 +0900
Subject: [mysql 14627] Re: group by っぽい絞り込み検索
平塚です。 > それぞれのユーザが、一番最後に何をやったかというのを取り出したいと思って > おり、 いわゆるひとつの副問い合わせと言うやつで書けます。 MySQL4.1なら動くはずです。 mysql> select t.user, t.time, t.task -> from tbl_user_task t -> where t.time = -> ( -> select max(m.time) -> from tbl_user_task m -> where t.user = m.user -> ); +--------+---------------------+------+ | user | time | task | +--------+---------------------+------+ | hanako | 2008-08-14 00:10:10 | F | | jiro | 2008-08-14 00:11:10 | I | | ichiro | 2008-08-14 00:12:10 | J | | taro | 2008-08-14 00:14:20 | K | +--------+---------------------+------+ 4 rows in set (0.00 sec) 別解もいくつかあります。 性能が異なる場合があるので、 お使いのデータで良いものを探してみてください。 mysql> select t.user, t.time, t.task -> from tbl_user_task t -> where (t.user, t.time) in -> ( -> select m.user, max(m.time) -> from tbl_user_task m -> group by m.user -> ); +--------+---------------------+------+ | user | time | task | +--------+---------------------+------+ | hanako | 2008-08-14 00:10:10 | F | | jiro | 2008-08-14 00:11:10 | I | | ichiro | 2008-08-14 00:12:10 | J | | taro | 2008-08-14 00:14:20 | K | +--------+---------------------+------+ 4 rows in set (0.00 sec) よろしくどうぞ。 -- 平塚貞夫 hiratsuka.sadao@xxxxxxxxxx
14626 2008-08-14 01:51 [MAO <mao@xxxxxxxxxx>] group by っぽい絞り込み検索 -> 14627 2008-08-14 10:04 ┗[HIRATSUKA Sadao <hir] 14628 2008-08-14 14:39 ┗[MAO <mao@xxxxxxxxxx>]