mysql:2521
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Sat, 30 Sep 2000 00:58:58 +0900
Subject: [mysql 02521] Re: 同じ行をカウント1としたい
とみたです。 On Fri, 29 Sep 2000 17:53:42 +0900 endo@xxxxxxxxxx (遠藤 俊裕) wrote: > データに以下のような物があるとします。 > > userID, ProcNo, Date > 1, 1, 2000/09/29 > 1, 1, 2000/09/30 > 1, 1, 2000/09/30 > 1, 2, 2000/09/30 > > この時 > ProcCount を 5 として、DateCount を 4 としたい > (2 でも 3 でもない!)のですが、どう記述すれば > よろしいのでしょうか? ProcCount はどのように計算するんでしょう? 単純に ProcNo の 値の合計でしょうか? > DateCount は「その日のうち、同じ ProcNo が存在し > たらそれは一日とカウントする」というのが条件です。 > だから、2000/09/30 は ProcNo = 1 が2回あるので、 > そこはカウント1。他は3つあるので合計4です。 > お教え下さい。m(_ _)m ええと、要するに ProcNo, Date がダブってるのは取り除いて、ProcNo の値 を合計するってことでいいんでしょうか? > あ、一本の SQL で書きたいのです。 > よろしくお願いいたします。m(_ _)m んん〜、ひとつのクエリではむずかしいですねえ。Sub-Select が 使えればできるような気はしますが…。 クエリが複数個になっても良ければ、一時テーブルを使って、 create temporary table hoge (ProcNo int, Date date); insert into hoge select distinct ProcNo, Date from OriginalTable; select sum(ProcNo) DateCount from hoge; とかでできそうです。 --- とみたまさひろ <tommy@xxxxxxxxxx> http://www.tmtm.org 日本MySQLユーザ会 http://www.mysql.gr.jp
2519 2000-09-29 17:53 [<endo@xxxxxxxxxx> ] 同じ行をカウント1としたい -> 2521 2000-09-30 00:58 ┗[とみたまさひろ <tomm] 2522 2000-09-30 09:56 ┗[<endo@xxxxxxxxxx> ]