MySQLってどうよ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG反応するなよ
0353デフォルトの名無しさん
NGNG管理人は IP を記録することになったようですが?
# トリップあんがと!
0354デフォルトの名無しさん
NGNG0355山崎渉
NGNG0356デフォルトの名無しさん
NGNG0357SQL自体初心者
NGNGCSVファイルに
09:30:12,data1,data2,,, と時間(秒単位)毎に大量のレコードが入っております
このデータからdata1が'a'である物について分刻みにdata2の合計をリストしたいのです。
time |data2
09:30|10
09:31|22
といった具合です。
select sum(data2) "data2" from tbl where data1 like 'a';
では求めるリストが出力されません。
当然csvに入っている時間帯もわかりません。
こんな事が可能でしょうか?
0358山崎渉
NGNG0359デフォルトの名無しさん
NGNG秒単位で入ってるデータだとして、
分単位で合計を求めるってーのは
例えば
09:30:00|10
09:30:30|16 ← これは無視すんのか?
09:31:00|22
0360SQL自体初心者
NGNG例えば
09:30:00|10
09:30:30|16 ← これは無視すんのか?
09:31:00|22
いんやちがいます分ごとに合計しますです
だから
09:30|26
09:31|22
としたいのです。可能でしょうか?
0361デフォルトの名無しさん
NGNG| 09:30:12,data1,data2,,, と時間(秒単位)毎に大量のレコードが入っております
| このデータからdata1が'a'である物について分刻みにdata2の合計をリストしたいの
「data1が'a'である物」 → data1 = 'a'
「分刻みに」 → group by
0362SQL自体初心者
NGNGGROUP By !サンクスです!おかげでできました
「hh:mm:ssとなっている秒刻みtimeがキーとなるテーブルから
data1がaの物について分刻みでdata2の合計をリストせよ」に関しまして
以下のクエリでOKなりました
SELECT left(time,5) "time(min tic)",sum(data2) "data2(sum)"
FROM table1 WHERE data1='a' GROUP BY left(time,5) ;
実はcsvからperlスクリプトで集計してそれは遅くて困ってましたが、
MySQLなら2000行超えを0.01Sで応答してます!すんばらしい〜
0363デフォルトの名無しさん
NGNG0365山崎渉
NGNG0366デフォルトの名無しさん
NGNGmysql_com.hの中でエラーが出るのだけど。
libはVC用らしいのに、よくわからん。
0367デフォルトの名無しさん
NGNG使えてる。
ただ1年以上前にやったことなので力になれなくてスマソ。
0368デフォルトの名無しさん
NGNGSOCKET周りだから駄目なのかと諦めかけてたのだが、
もう少し頑張ってみよう。
0369デフォルトの名無しさん
NGNGどんなエラーがでるの?
0370デフォルトの名無しさん
NGNG#include <mysql.h>の前に#define __LCC__とするとうまくコンパイルできた。
#ifdef __LCC__
#include <winsock.h>/* For windows */
#endif
なぜかわからないけど、こうなってるので。
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNG可能ですか???
可能だったらダウソしようと思うのですが。。。
0375374
NGNGMySQLにはAccessやMicrosoftSQLのように、目で見てわかる「テーブル」
の概念はないのですか?
0376デフォルトの名無しさん
NGNGわけわからん。
mysql.exeじゃだめなの?
0377デフォルトの名無しさん
NGNG絶句
Access使ってればいいじゃん
0378デフォルトの名無しさん
NGNGVBから使うならODBCドライバがある。
0379デフォルトの名無しさん
NGNGあるよ。
show fields from テーブル名;
とかやってみ。
0380デフォルトの名無しさん
NGNG意味がわかんないけど
GUIでテーブル内容操作したいってことなら
そういうソフトあったよ
俺も一度ダウンロードして使ってみたが
使い勝手が悪いので結局自分でJavaで作ったよ
0381デフォルトの名無しさん
NGNGCommon SQL Environment
http://www.hi-ho.ne.jp/tsumiki/
便利ですよ
自宅のMySQLと、会社のDB2、Oracleで活用中
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNG(゚∀゚)ある。
0386384
NGNGちなみにCSV規約とは簡単に言うと、
データを「"」で囲むことでデータに「,」や改行が使えるというもの
なんだけど。
0387デフォルトの名無しさん
NGNGごめん関数名忘れたけど、LOAD DATAだったかな?
バージョンがあがったら使えないようになってたみたいだけどね。
まあ、PHPかPERLでさくっと書くのが一番。。。
0388デフォルトの名無しさん
NGNGSELECT COUNT(*) FROM `20030207` WHERE username=abc;
とかで。
0389デフォルトの名無しさん
NGNGMySQLのメーリングリストで聞いてみなよ
0391380
NGNGっていうか普通に置いてあったw
以前見つけたときは、結構探したんだが・・・
日本語表示はFontの設定すればOK
ttp://www.mysql.com/downloads/index.html
○Graphical clients -- different GUI interfaces to administer MySQL and data
1.MySQL Control Center
2.MySQLGUI (no longer under development)
1と2あるけど 1、はカラムの日本語がうまく表示できないデータはOKだけど・・・
2はGNOME?っぽいGUIでこっちは完全に日本語表示いける
0392デフォルトの名無しさん
NGNGなんか不安定な気がします。
0393380
NGNG日本語で入力できない
>>392
それはないけど、急に速度が遅くなったりする
しまいにはフリーズすることあった>3.x
なので4.0αに変えた。結構快適で、1年使ってる
今見たら4.0γがでてて、4.1αも出てた
0394棒 ◆91v9C66ud2
NGNGmysql Ver 11.15 Distrib 3.23.41, for redhat-linux-gnu (i386)
をそのまま使ってるんですが、なんだか間違った事しているでしょうか?
なぜ面倒くさい事しているかという事は置いといて、構文として間違ってますか?
沿線コードと駅コードを最初に限定しておいて、その後にクライアントが指定したコードで
表示させるのですが。
mysql> select eki from bukken where (((ensen=2197 && eki BETWEEN 10 AND 110) ||
(ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40 AND 1
00) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70) ||
(ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
Empty set (0.00 sec)
mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
+----------+
| count(*) |
+----------+
| 139 |
+----------+
1 row in set (0.02 sec)
全く関係ないはずのbetween(下から2行目.2256)が110だとなぜか空。111にすると、
ちゃんと表示される。なぜ?
どなたかご教授お願い致します。
0395棒 ◆91v9C66ud2
NGNG0396デフォルトの名無しさん
NGNGselect count(*) from bukken where eki = 110;
select count(*) from bukken where eki = 111;
select count(*) from bukken where eki BETWEEN 110 AND 230;
select count(*) from bukken where eki BETWEEN 111 AND 230;
0397棒 ◆91v9C66ud2
NGNGありがとうございます。
select count(*) from bukken where eki = 110; =7211
select count(*) from bukken where eki = 111; =0
select count(*) from bukken where eki BETWEEN 110 AND 230; =72627
select count(*) from bukken where eki BETWEEN 111 AND 230; =65416
ちなみに、select count(*) from bukken where eki BETWEEN 112 AND 230;
は、65416でした。
バグなのかなーと思いつつも、そんな事はありえないとも思えて・・・悩ましいです。
よろしくお願いします。
0398デフォルトの名無しさん
NGNG合ってるじゃんねぇ
0399デフォルトの名無しさん
NGNGselect count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)));
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)));
select count(*) from bukken where (((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
0400棒 ◆91v9C66ud2
NGNGありがとうございます。
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
=0
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
=136
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)));
=4115
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)));
=4067
select count(*) from bukken where (((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
=136
でした。
0401棒 ◆91v9C66ud2
NGNGmysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70)
|| (ensen=2269 && eki=80)));
が0で、
mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70)
));
が34というところまで来ました。
他に、betweenの部分を色々いじったりしましたが、ensen=2269以外のbetweenを一つでも
削ると、136の結果になります。
また色々やってみます。
よろしくお願いします。
0402棒 ◆91v9C66ud2
NGNGmysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70)
|| (ensen=2269 && eki=101)));
は0なんですが、最後の101は109に変えても0のままで、
mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70)
|| (ensen=2269 && eki=110)));
のように、eki=110に変えると、34の結果が返ってきます。ちなみに、34という数は
select count(*) from bukken where ensen=2269 && eki=70;
の数です。
かなりお手上げ状態です。お助けをいただければありがたいです。
0403デフォルトの名無しさん
NGNG=>, <=みたいのでは駄目?
できるなら書き換えてみたら?
もしくはWhere句で&&とか||でなくて、AND, ORに変えたら?
0404棒 ◆91v9C66ud2
NGNGありがとうございます。
mysql> select count(*) from bukken where (((ensen=2197 AND eki>=10 AND eki<=110
) OR (ensen=2176 AND eki>=200 AND eki<=215) OR (ensen=2269 AND eki>=40 AND eki<
=100) OR (ensen=2256 AND eki>=110 AND eki<=230)) AND ((ensen=2269 AND eki=70) O
R (ensen=2269 AND eki=100)));
は、0でした。
順番を入れ替えたりしてみましたがそれでもやはり0でした。
似たような環境を作って(カラム2つでデータ10個程度)、同じ数字でやってみましたが
再現できませんでした。うう。
よろしくお願いします。
0405デフォルトの名無しさん
NGNGselect count(*) from bukken where ((ensen=2256 && eki BETWEEN 110 AND 230) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
select count(*) from bukken where ((ensen=2256 && eki BETWEEN 111 AND 230) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
これで
前者 > 0
後者 > 0
前者 > 後者
だったら演算子の数に制限があるとかしか考えられん。
(最初のより条件(演算子)を削ってるので
きちんと取れる気がする)
0406棒 ◆91v9C66ud2
NGNG両方0になりました。おそらく、最初の方で、データをensen=2256のみに
限定しているから、後の2269には引っかからないかと思います。
演算子の数との事で、実験してみました。
mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230) || (ensen=2261 && eki BETWE
EN 91 AND 260)) && ((ensen=2269 && eki=70) || (ensen=2269 && eki=80) || (ensen=
2269 && eki=90)));
というように、最初のより長くしてみました。結果は、ensen=2261の、ekiを90以下だと
136件、91以上だと0件という結果になりました。
どうにもならないでしょうか?もうしばらくお付き合いいただけると助かります。
よろしくお願いします。
0407デフォルトの名無しさん
NGNGもしかして
v a r c h a r に し て な い か ?
ensen int
eki int
では再現しなかったけど、
ensen varchar(4)
eki varchar(4)
の場合結果がおかしくなったので。
0408棒 ◆91v9C66ud2
NGNGshow columns from bukken;で、
smallint(5) unsigned not null default 0のインデックス付きでした。
まずいでしょうか?よろしくお願いします。
0409デフォルトの名無しさん
NGNGを()でくくったらどうなるんだろう。
(eki between n and m)って。
なんつーか、もうMySQLのクエリープロセッサの実装
知ってるような方から一言ほしいところか。
0410棒 ◆91v9C66ud2
NGNGもうしばらく色々やって、待ってみて、MysqlのMLに投稿してみようかなと思うのですが、
「長くなるから2chのここを見て」と投稿するのはありでしょうか?
それとも、長くなってもやったことを全部載せた方がいいでしょうか?一度もMLに投稿したことが
ないので、あまり勝手がつかめません。
よろしくお願いします。
0411デフォルトの名無しさん
NGNG最新版の環境でも作って同一なデータで試してみるぐらいか。
407も再現しなかったって言ってるし。
>「長くなるから2chのここを見て」と投稿するのはありでしょうか?
は止めといたら?
394の内容と意図している(こうなるのが正しいはずの)結果、
テーブル定義くらいは説明した方がよいかと。
まぁ2日以上かかりっきりで、
疲れているだろうけどガンガレ
0412デフォルトの名無しさん
NGNGタブ区切りのファイルをLinux(サーバー)に送ろうと思ったんですが
The used command is not allowed with this MySQL version
と出てしまってできません。
Linuxクライアントからならできるんですけど、、、
どなたか対処方をご存知の方いらっしゃいませんか?
サーバー、クライアント共にバージョンは3.23.52です。
0413412
NGNGmysql.exeで
load data local infile 'c:/test.txt' into table tablename;
したときの状況です。
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG0416412
NGNGmysql.exeじゃなくてmysqlc.exeを使うとうまくいきました。
ってかオラクルつかいてぇ・・・
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGSELECT *
FROM bukken
WHERE ensen=2269 && eki=80;
これで、全データチェックすれば?
目で確認できるレコード数でしょ。
0419デフォルトの名無しさん
NGNGどこの企業でもオラクルなの?
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGオラクルを知らずしてDBは語れない。
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG確かにそうだが、だからと言ってオラクルを使うかは別
0424デフォルトの名無しさん
NGNGオラクル使うようになってもすぐ慣れるって
オラクルの本だけ買って勉強するのもまたよし
Java使いならオラクル専用クラスの使い方知っておけば
移行してもすぐ使えるようになるよ
と、おもうのだが俺は・・・
0425デフォルトの名無しさん
NGNG>MySQLである程度勉強しておけば
>オラクル使うようになってもすぐ慣れるって
現時点のMySQLではそう思わない。
ストアド、トリガーなど通常重要視されるもので、ないものが多いし。
5.0でどこまで改善されるか楽しみではあるが。
しかし、MySQL(特にInno)はをオラクルライクを意識しているので、
好感は持てる。
0426デフォルトの名無しさん
NGNGttp://dajoba.com/projects/mysqltool/
俺は使ったことないが。
もし使ったら、日本語訳してよ。
ttp://sourceforge.jp/projects/mysqltool-l10n/
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNGストアドプロシージャって必須かなぁ。
どんな場合に使うの?
0429デフォルトの名無しさん
NGNGパフォーマンスが出ないときに、自分の設計の悪さを棚に上げ、
ストアドプロシージャに頼ったあげく、ポータビリティを失い
たいとき。
0430デフォルトの名無しさん
NGNGSQLの仕様にもよるが、ツリー構造をひっぱてくるときなど。
0431422
NGNGThanks!!
早速インスコしてみた。重いけど、PHP使わない環境で
DB覗けるのが嬉しい。
>日本語訳
スクリプトを覗いてみたが、i18nに関しては
ほとんど考慮されてないみたいだね…。
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGつか両方いれちゃえ。
0435デフォルトの名無しさん
NGNG文書検索にDBを使わない方がいいんでしょうか?
0436デフォルトの名無しさん
NGNG作ってみてだめならnamazu使えば?
0437デフォルトの名無しさん
NGNGとんでもなく遅い気が
0438デフォルトの名無しさん
NGNG物凄い効率悪いと思う。
つーかどういうDB作るつもりなの?
0439デフォルトの名無しさん
NGNGSQLの勉強するつもりならサブクエリーのあるPostgreSQLの方がいいでしょう。
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNGdataフォルダをどっかにコピーしとけばOK>コレ最強
0442デフォルトの名無しさん
NGNGMySQLを一度止めなきゃいけない罠
0443デフォルトの名無しさん
NGNGんなこたーない
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGLarge server clusters using replication are in production use, with good results. Work on enhanced replication features is continuing in MySQL 4.x.
0446デフォルトの名無しさん
NGNG実際のところ一度とめる必要はあるんですか?
何となく思うのは、もし誰かがテーブル更新中だったりすると
整合性が保てなるから恐いなぁっていうことなんですが。
0447デフォルトの名無しさん
NGNG整合性が保てなるから恐いなぁっていうことなんですが。
そりゃ当然のこと
アクセスが0だってわかってればファイルコピーは普通に出来るし
アクセス中ならOS側がストップかける
>>440が言うような不便というのはどういうことなのかわからんが
CVS形式で吐き出したり、レプリカもできる(普通はこっち使う
0448デフォルトの名無しさん
NGNG「○○だからさ」
○○を埋めてください。
はい歌丸くん ↓
0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNG>全文検索のインデックスの作り方はDBのそれとは違うから、
>物凄い効率悪いと思う。
keyword,url,score
みたいな感じでインデックステーブル作っても効率悪い?
0451デフォルトの名無しさん
NGNG「みたいな感じでインデックステーブル作っても効率悪い? 」
という文章を、keyword,url,scoreに分解してみてください。
■ このスレッドは過去ログ倉庫に格納されています