[前][次][番号順一覧][スレッド一覧]

mysql:15330

From: 遠藤 俊裕 <遠藤 俊裕 <endo@xxxxxxxxxx>>
Date: Mon, 07 Jun 2010 22:33:31 +0900
Subject: [mysql 15330] Re: 【お知恵拝借】副問い合わせに limit 3

えんどうです。
お返事有り難うございました。

create table tbl
(
id int auto_increment primary key,
  field int,
  ordfield int
);

INSERT INTO `carelabo_portal`.`tbl` 
(`id`, `field`, `ordfield`) VALUES 
(NULL, '0', '1'), (NULL, '1', '11'), (NULL, '2', '55'),
(NULL, '0', '2'), (NULL, '1', '22'), (NULL, '2', '66'),
(NULL, '0', '3'), (NULL, '1', '33'), (NULL, '2', '77'),
(NULL, '0', '4'), (NULL, '1', '44'), (NULL, '2', '88');

で、実行した時、

1, 0, 1
4, 0, 2
7, 0, 3
2, 1, 11
5, 1, 22
8, 1, 33
3, 2, 55
6, 2, 66
9, 2, 77

(おそらく)上記が出て欲しいです。
データがダミーなので、おそらくと書きましたが、なんせ、グ
ループ(field)毎に(ordfiledの)トップ3が出れば嬉しい
のです。

今は、3回 SQL を( field 毎に)発行して、プログラムでがっ
ちゃんこしてます。ちょっと、不細工・・・(^^;

Mon, 07 Jun 2010 22:00:27 +0900 に、
Miyata Masaki <catlover@xxxxxxxxxx> さんは書きました:

> ミヤタと申します。
> 
> > どなたか、上記 SQL の結果を実現する方法をお教え下さい。
> 
> 実現したい動作がよく分からないので、このあたりを付けて頂けると分り易いかと。
> ・DDL文
> ・INSERT文(数件程度)
> ・想定結果
> 
> --
> Masaki Miyata
> catlover@xxxxxxxxxx
> 
> > From: 遠藤 俊裕 <endo@xxxxxxxxxx>
> > To: ml@xxxxxxxxxx
> > Subject: [mysql 15328] 【お知恵拝借】副問い合わせに limit 3
> > Date: 2010/06/07 21:41
> >
> > えんどうです。
> > 
> > 皆様、お知恵を拝借させて下さい。
> > 
> > tbl の中の field ごとに top 3 を出したいために、以下の SQL
> > を書いてみました。
> > 
> > select * from tbl as t1
> > where id in
> > (
> >     select id from tbl as t2
> >     where t1.field = t2.field
> >     order by ordfield
> >     limit 3
> > )
> > order by ordfield
> > 
> > ダメでした。
> > 
> > どうも、in の中で limit が使えない様です。
> > 
> > どなたか、上記 SQL の結果を実現する方法をお教え下さい。
> > 
> > 何卒よろしくお願い致します。
> > 
> > MySQL version = 5.1.44
> > 
> > --
> > えんどう
> > endo@xxxxxxxxxx,endo@xxxxxxxxxx
> > 
> > 
> 

--
えんどう
endo@xxxxxxxxxx,endo@xxxxxxxxxx


[前][次][番号順一覧][スレッド一覧]

     15328 2010-06-07 21:41 [遠藤 俊裕 <endo@xxxx] 【お知恵拝借】副問い合わせに limit 3    
     15329 2010-06-07 22:00 ┗[Miyata Masaki <catlo]                                       
->   15330 2010-06-07 22:33  ┗[遠藤 俊裕 <endo@xxxx]                                     
     15331 2010-06-08 00:06   ┣["KIMURA, Meiji" <kim]                                   
     15334 2010-06-08 01:48   ┃┗[遠藤 俊裕 <endo@xxxx]                                 
     15335 2010-06-08 06:55   ┃ ┗["KIMURA, Meiji" <kim]                               
     15336 2010-06-08 10:45   ┃  ┗[遠藤 俊裕 <endo@xxxx]                             
     15337 2010-06-08 13:54   ┃   ┣[SAKAI Kei <sak2@xxxx]                           
     15338 2010-06-08 15:28   ┃   ┃┣[遠藤 俊裕 <endo@xxxx]                         
     15339 2010-06-08 21:56   ┃   ┃┗["KIMURA, Meiji" <kim]                         
     15340 2010-06-08 23:00   ┃   ┗["KIMURA, Meiji" <kim]                           
     15332 2010-06-08 00:47   ┣[SAKAI Kei <sak2@xxxx]                                   
     15333 2010-06-08 01:16   ┗[遠藤 俊裕 <endo@xxxx]