この表示する順番を、一番上からID=30、ID=190、ID=170と、 SELECT文に記述されたIDの順番通りに表示するには、どうすればよいでしょうか? なにかいい案がある方、いらっしゃいましたらご教示下さい。 0314NAME IS NULL2008/06/13(金) 12:35:19ID:??? select * from wp_posts order by (case ID when 30 then -3 when 190 then -2 when 170 then -1 else ID end) asc; 0315NAME IS NULL2008/06/21(土) 20:46:10ID:??? union使えば? 0316NAME IS NULL2008/07/12(土) 01:40:35ID:??? MySQLはXen上では使えないんですか?
# と思ったら Web に書いてないだけで README に書いてあったorz 0321NAME IS NULL2008/08/02(土) 18:51:16ID:ag3OZJze 4に戻したいですぅ 0322NAME IS NULL2008/09/06(土) 16:57:02ID:??? gooでも質問したのですがこちらでも質問させてください。
CentOS 4.6 に MySQL 5.0系をインストールして port 80番で運用したいと考えています。
ところが、ポート80を指定して起動させると 以下のエラーになり、起動できませんでした。
mysqld started InnoDB: Started; log sequence number 0 43655 [ERROR] Can't start server: Bind on TCP/IP port: Permission denied [ERROR] Do you already have another mysqld server running on port: 80 ? [ERROR] Aborting
80番を使用する http は停止させており、 iptables を停止させてもダメでした。
別のシステムで CentOS をインストールした直後のものに MySQL をインストールしても同じ状態でした。
ALTER TABLE test_table RENAME TO TEST_TABLE 0329NAME IS NULL2009/03/28(土) 16:41:02ID:??? PHP5 / MySQL5.0を使用して簡単なデータベース登録 システムを作っているのですがどうやっても 日本語を登録すると文字化けして困っています。 どうすれば日本語が登録出来ますか? ※WindowsXP Pro
mysql> insert into test values (1); Query OK, 1 row affected (0.00 sec)
■セッション2 mysql> select * from test; Empty set (0.00 sec)
みえないよ? 0361NAME IS NULL2009/04/28(火) 22:31:31ID:???>>359 テーブルが InnoDB じゃなくて MyISAM になってるとか。 0362NAME IS NULL2009/05/01(金) 01:09:50ID:vXvzRfg3 すいません質問させてください。
http://q.hatena.ne.jp/1179443422 このページと同じ質問なのですが、やはり3番のsqlがベストなのでしょうか?? 「特定のカラムの値がそのテーブルの特定の条件のもとで最大値を有しているレコードをselectする」というのが割と簡単にできるのではないかと思っていたのですが、 ここの回答のように副問い合わせするのが一番無難な感じなのでしょうか? order by xx desc limit 0, 1 も試してみましたが、全レコードをsortするためか、副問い合わせを使ったものよりレスポンスが遅めでした。(レコードが10万件くらいある。。) アドバイス頂けると幸いですm(_ _)m 0363NAME IS NULL2009/05/01(金) 03:24:22ID:???>>362 Table構成がそのはてなの質問と同じとして、id及びgoods_idに 複合インデックスが貼ってあり、それがユニークか、Hit率がテーブル全体のレコード数より 十分少なければ、order by descが早いんでないかな。 もっと言うと、INDEX(id,goods_id,date)で複合インデックスがあればなおよし。
でなくて、idとgoods_idの値が、レコード全体の多くにHitしてしまう場合は、 そこにあるようにサブクエった方が早そうな感じ(もちろんdateにインデックスが貼ってあるとして)。 0364NAME IS NULL2009/05/01(金) 17:12:12ID:??? 質問ですが、
以下の感じでやろうとしてます
select 学生id ,出席日数,出席率 from 学生名簿 left join (select sum(出席) as 出席日数 , sum(round(出席数/365,2)) as 出席率 ,学生id from 出席簿 where 学生id in ( select 学生id from 学生名簿 order by 学生名 limit 0,50) group by 学生id) as 出席データ on 出席データ.学生id=学生名簿.学生id order by 学生名 limit 0,50
0374NAME IS NULL2009/05/04(月) 06:11:39ID:pQt/LC0v 質問です。
バイナリログがうまく書き込めないんです。 以下のようなログが出てます ---------------------------------------------- /home/mysql/data$ mysqlbinlog mysql-bin.000008 /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; mysqlbinlog: File 'mysql-bin.000008' not found (Errcode: 13) # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; ----------------------------------------------
何か原因として考えられることはありますか? 0375NAME IS NULL2009/05/04(月) 09:26:12ID:???>>374 mysql-bin.000008 かそれが置いてあるディレクトリにパーミッションがない。 0376NAME IS NULL2009/05/05(火) 19:52:00ID:+Yc0J8ac バイナリログに、いつもファイルの最後にこんなのがでるんだけど。 ROLLBACK /* added by mysqlbinlog */;
これ、何かわかる人いますか?
0377NAME IS NULL2009/05/05(火) 21:41:38ID:??? 読んでそのままでは? 0378NAME IS NULL2009/05/05(火) 22:20:56ID:+Yc0J8ac>>377 コメントを訳すと、mysqlbinlogによって追加されました、となるけど、 なんで追加するのかなーと。なんでROLLBACKする必要があるのかと。 0379NAME IS NULL2009/05/06(水) 15:32:14ID:???>>370 A left join ( B left join C on B.id=C.id ) on A.id=B.id 0380NAME IS NULL2009/05/08(金) 04:03:39ID:???>>379 流石にそれはない 0381NAME IS NULL2009/05/11(月) 12:33:48ID:gPGRNLrz ネットワーク越しに接続させたいので、ユーザXXXに10.1.1.1から接続できるように設定したいと思ってます。 userテーブルにはXXXがlocalhostから接続できるという設定の行があるので、それを流用したいとおもっている のですが、そんなこと可能でしょうか? 自分でINSERT文を書くのはできれば避けたい('Y'とか'N'が多すぎるし)のですが、普通は自分でINSERT文を 書くべきなのでしょうか? よろしくお願いします。 0382NAME IS NULL2009/05/11(月) 13:00:22ID:gPGRNLrz 例えば、ストアドプロシージャを書いて、その中でSELECTの結果を保存して、 一部を書き換えて、INSERTの引数として使うこととかってできますか? 03833622009/05/11(月) 16:32:24ID:l33ZsoDq お礼遅れてすいません。ありがとうございます。 やはり自分のところではorder by よりmaxのサブクエリを使った方が早いみたいでした。 0384NAME IS NULL2009/05/11(月) 19:39:27ID:gPGRNLrz selectの結果を保存するのは出来ない気がしてきたので、ストアドプロシージャの練習を兼ねて 書いてみました。
DELIMITER // CREATE PROCEDURE net_user_enable(IN myhost CHAR(64), IN myname CHAR(64), IN mypassword CHAR(64)) BEGIN -- 1: USERテーブルにユーザとホストの組み合わせを追加 INSERT INTO mysql.user VALUES (myhost,myname,PASSWORD(mypassword),'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0); -- 2: dbテーブルにホストを追加 INSERT INTO mysql.db VALUES (myhost,'%',myname,'Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); FLUSH PRIVILEGES; END // DELIMITER ;
-- こんな感じで使ってね。 CALL net_user_enable('localhost','hoge','hogeのパスワード'); 0385NAME IS NULL2009/05/12(火) 00:12:08ID:v5EaLHhs CREATE FUNCTIONで関数定義するとき、SELECT文を使えないのでしょうか?
CREATE FUNCTION hogefunc(num INT) RETURNS INT BEGIN SELECT "hogehoge"; RETURN 2; END//
こう書いても受け付けてくれません。
0386NAME IS NULL2009/05/17(日) 08:44:42ID:??? database「hogedb」の中にテーブル「hoge」「age」「sage」を作ったのだが、 うち一つはselect時にselect * from hogedb.hogeのようにデータベースを指定しないとエラーになる。 なんで?? エラー内容; RROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'hoge' at line 1 0387ワークベンチ2009/05/17(日) 08:48:02ID:??? Workbenchでテーブルを作成しました。ここからCREATE文のスクリプトを作成することは出来ますが ついでにInsert文のスクリプトも作成することは可能でしょうか? (テーブルのタブに「Inserts」というのがあり、ここで投入用のデータをエディタで書けるのだが、ここからどうすればスクリプトに落とせるのか不明) 知ってたら教えて下さい 03883862009/05/17(日) 08:59:05ID:???http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9188.txt 違ったデータベース名、テーブル名は関係なかった。よくよく見るとスクリプトでテーブルを作るときに警告が 出てた。上にアップしたスクリプトは簡単なテーブルを3つ作るだけなのだが、何がおかしいのだろうか 単純にselect * from order;がエラーになる。(データベース名を指定するとおk) 03893862009/05/17(日) 10:38:07ID:??? 予約語だった。。。知らなかった ちくしょー!! 0390NAME IS NULL2009/05/17(日) 20:25:32ID:vKUcKlyZ ユーザーがグループに所属していて、グループもまた別のグループに所属しているような階層構造になっている場合、 どうやって所属情報をDBに入れるのが賢いの? 上位グループに所属するユーザーを抽出するクエリがつくりにくいんだけど 0391NAME IS NULL2009/05/17(日) 22:33:04ID:??? RDBMS向きじゃないね。 0392NAME IS NULL2009/05/18(月) 00:00:52ID:??? >どうやって所属情報をDBに入れるのが賢いの? MySQL捨ててPostgreSQLに入れるのが賢い。 0393NAME IS NULL2009/05/18(月) 06:05:35ID:??? 何の問題も無いだろ 0394NAME IS NULL2009/05/18(月) 07:09:02ID:??? Postgresは現行VerでもOracle風のconnect byが使える。 もうすぐ出る次期VerではSQL99準拠のWITH RECURSIVEも 使えるらしい。 0395NAME IS NULL2009/05/18(月) 17:30:27ID:??? 日本語でおk 0396NAME IS NULL2009/05/18(月) 18:03:51ID:??? ツリーってDB入れるの無理だろ 0397NAME IS NULL2009/05/18(月) 19:06:38ID:???http://www.efukt.com/images/EFBIG.jpg0398NAME IS NULL2009/05/19(火) 02:33:18ID:WKjGD5xV dumpが出来ないです mysqldump -u root hoge > c:\backup\dump.sql とMysqlコマンドに入力すると Unknown command '\b'. -> となるだけでdumpできません Cドライブにbackupファイルも作ってありますが、何か足りないのでしょうか? 0399NAME IS NULL2009/05/19(火) 03:19:57ID:???>>396 そのためOracleとかでは階層問い合わせをするための独自の文法が定義 されているし、標準SQLでもSQL99以降で再帰クエリを記述する文法が 追加されている。 こういった拡張を使うとツリーに対する検索とか>>390のクエリなんか はもっと簡単に書けるよ。