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

mysql:8918

From: KAWAJI Shinya <KAWAJI Shinya <kawaji@xxxxxxxxxx>>
Date: Sun, 07 Mar 2004 16:51:47 +0900
Subject: [mysql 08918] Re: DISTINCT オプションの動作について

かわじ、です。


>  複数フィールドを1カラムにまとめて出す方法を考えます。DATEとMESSAGEを
> セパレータ文字“|”で連結して1カラムに出しても良いなら
> ば、
> 
>     select NO,max(concat(DATE,'|',MESSAGE)) from some-table group by NO;
> 
> のクエリが利用可能です。クエリを発行したプログラムの方で、DATEとMESSAGE
> を分離するのですね。

似たような感じですが、MySQLのマニュアルにも記されている方法もあります。
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Tutorial.html#example-Maximum-column-group-row
http://www.mysql.com/documentation/mysql/bychapter/manual_Tutorial.html#example-Maximum-column-group-row

-- 試していないので、正確にはちょっと間違ってるかもしれません
SELECT NO
, SUBSTRING(MAX(CONCAT(DATE, DATE)), 11) AS DATE
, SUBSTRING(MAX(CONCAT(DATE, MESSAGE)), 11) AS MESSAGE
FROM some-table
GROUP BY NO;


ちょっと裏技的ですが、これでしたらアプリケーション側でデータを分離したり
する必要は無いかと思います。

この方法につきましては、以前にも投稿させていただいています。
[mysql 05955], [mysql 08125]



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

      8911 2004-03-07 02:49 [<konet218@xxxxxxxxxx] DISTINCT オプションの動作について       
      8912 2004-03-07 03:52 ┣[ML account <ml@xxxxx]                                       
->    8918 2004-03-07 16:51 ┃┗[KAWAJI Shinya <kawaj]                                     
      8920 2004-03-07 22:06 ┃ ┗[ML account <ml@xxxxx]                                   
      8913 2004-03-07 04:48 ┗[UNO Shintaro <uno@xx]                                       
      8914 2004-03-07 06:20  ┣[Sumito_Oda <oda@xxxx] 予約語 (Re: DISTINCT オプションの動作について)
      8915 2004-03-07 06:23  ┗[<konet218@xxxxxxxxxx]                                     
      8916 2004-03-07 13:36   ┗[ML account <ml@xxxxx]                                   
      8919 2004-03-07 18:56    ┗[UNO Shintaro <uno@xx]                                 
      8921 2004-03-07 22:06     ┗[ML account <ml@xxxxx]                               
      8923 2004-03-07 22:29      ┗[UNO Shintaro <uno@xx]