mysql:13588
From: "m.fukuda" <"m.fukuda" <fukuda@xxxxxxxxxx>>
Date: Thu, 7 Dec 2006 09:58:38 +0900
Subject: [mysql 13588] Re: 文字列のMAX
インデックスを全て削除してみたら正しく求められて いるようです。 現状 Select max(fld1),max(fld2) From tabel1 ; max(fld1)=aaa 本当は'aaaaaa' インデックスを全て削除してみた Select max(fld1),max(fld2) From tabel1 ; max(fld1)=aaaaaa fld1は1つのインデックスのフィールドになっていますが null値は登録されていません。 fld1単独ではインデックスにしていなく、他のフィールド (こちらもnullはない)との組み合わせ。 他のインデックスには fldXなどにはnull値あり じかのインデックスがない為、仮のインデックスみたいなものが 使われ、その時にどこかのnull値の関係でうまくレコードを探せない 見たく見えます。 フィールドが桁切れされるのは何か数字絡みとも思えます。 変化がありましたのでもう少しやってみます。 型キャストも挑戦してみます。(でも文字として扱いたい) ・・・文字MAXってあっても不思議じゃないと思うのですけど。 ----- Original Message ----- From: "m.fukuda" <fukuda@xxxxxxxxxx> To: <ml@xxxxxxxxxx> Sent: Thursday, December 07, 2006 9:06 AM Subject: [mysql 13586] Re: 文字列のMAX 文字になる可能性がある為(昔からこうなので)。 01-0001 09-0002 とかも考慮してなのです。 Oracleでは出来てたっぽい。 3.25?でも出来てたっぽい。 今更、汗汗状態です・・・ ----- Original Message ----- From: "YuGo" <yu.gotou@xxxxxxxxxx> To: <ml@xxxxxxxxxx> Sent: Thursday, December 07, 2006 8:54 AM Subject: [mysql 13585] Re: 文字列のMAX intとか数値型じゃどうしてもだめなんですか。 m.fukuda wrote: > ありがとうございます。 > > いいえ、文字列中の一番大きい値を求めたいのです。 > 文字列ですが実際には数字が入っています。 > > fld1 > 000001 > 000002 > 000003 > > Select max(fld1),max(fld2) From tabel1 ; > max(fld1)=000003 > になってくれるだろうと思っているのですが。 >
13582 2006-12-07 03:37 ["m.fukuda" <fukuda@x] 文字列のMAX 13583 2006-12-07 08:38 ┣[YuGo <yu.gotou@xxxxx] 13584 2006-12-07 08:48 ┃┗["m.fukuda" <fukuda@x] 13585 2006-12-07 08:54 ┃ ┗[YuGo <yu.gotou@xxxxx] 13586 2006-12-07 09:06 ┃ ┗["m.fukuda" <fukuda@x] 13587 2006-12-07 09:42 ┃ ┣[YuGo <yu.gotou@xxxxx] -> 13588 2006-12-07 09:58 ┃ ┣["m.fukuda" <fukuda@x] 13589 2006-12-07 10:01 ┃ ┗["F.Y" <fumi_sby@xxxx] 13590 2006-12-07 10:21 ┃ ┗["F.Y" <fumi_sby@xxxx] 13595 2006-12-08 08:01 ┗[とみたまさひろ <tomm] 13597 2006-12-08 10:42 ┗["m.fukuda" <fukuda@x]