回答数
気になる
-
mysqlで更新をする前に、初期値をセットしての更新を行ないたい。
mysqlで更新をする前に、初期値をセットしての更新を行ないたい。 例えば、出納帳で残高を計算をしたいとするとどうしても最初の値を更 新をする前にセットする必要が有る。 下記のデータの場合は、 id 年月日 摘要 入金 出金 残高 1 180101 給料 300,000 300,000 2 180102 ビール 10,000 290,000 3 180103 ウイスキー 10,000 280,000 この場合は、update 出納帳 set 残高=.... の様には出来ない。 と言うのはこの構文では、初期値が与えられていないので最初の積算の 開始が上手く出来ていない。 この様な初期値を与えてからの更新をmysqlでは、記述が出来るのだろ うか。 済みません。mysqlの構文を例示願います。 宜しくお願いします。
質問日時: 2017/12/25 07:58 質問者: usui-2015
ベストアンサー
2
0
-
R コンソールに表示されている(関数計算後の)出力された値における絶対値の最大値をさがしたい
R コンソールに表示されている(関数計算後の)出力された値の中から絶対値の最大値となる値と、その値に対応している値をさがして、出力させたいです。 具体的に説明します。 関数計算させた出力値が、コンソールに -5 -4 -3 -2 -1 0 1 2 3 4 5 55 97 35 -66 -98 33 48 52 87 63 22 のように表示されています。 1行目の値と2行目の値とは、対応しています。 この中から、2行目において、絶対値の最大値となる値(-98)と、この値に対応する一行目の値(-1)をさがして、Rコンソールに出力させたいです。 どのようなスクリプトを書けばよいか、教えてください。 よろしくお願いします。
質問日時: 2017/12/13 16:07 質問者: goseinaito
解決済
1
0
-
SQL
strSQL = "" strSQL = strSQL & " SELECT S.顧客番号, S.顧客名" ←なんとなくいいと思うがs.の意味? 任意でつけてもいいと認識している strSQL = strSQL & " FROM" たぶんあっている strSQL = strSQL & " [顧客マスタ$]" ←あっているかも $はシートだと思う strSQL = strSQL & " ORDER BY S.顧客番号" ←違うとおもう シート名 顧客マスタ 顧客番号 顧客名 住所 1 A 東京 2 B 神奈川 ここから A 東京 を取り出したい シート名 抽出 教えくれませんでしょぅか
質問日時: 2017/12/03 21:34 質問者: 東西線
ベストアンサー
3
0
-
pdf ファイルを mysql に記録する場合の暗号化について
サーバー上に pdf ファイルをアップロードして、閲覧権限を細かく設定しようと考えています。 調べてみるといろいろな方法があるようですが、 mysql に pdf を埋め込むのが一番わかり易いように思いました。 実際やってみるとわりと簡単に出来たのですが、pdf の内容が個人情報なのでできれば暗号化した方がいいと思いました。 しかし、openssl を使って暗号化しようと思ったのですが、どうにもうまくいきません。 $encrypt = openssl_encrypt($str,'aes-256-cbc', $key, $options, $iv); などとして文字列を暗号化したり復号化はできるのですが、pdf ファイルに関してこのような暗号化ができません。 そもそも、こういう場合の pdf ファイルの暗号化ってできるんでしょうか? よろしくお願いします。
質問日時: 2017/12/01 22:14 質問者: yahooyaffo
解決済
1
0
-
データベースのパンク
今ほとんどのECサイトはデータベースなどと連携をしていますが アクセスする人が多すぎデータベースがパンク(など)を起こし データが消えてしまうという事はありますか?
質問日時: 2017/12/01 21:28 質問者: kirawaremono_
ベストアンサー
1
0
-
MYSQLについて
データベース超初心者ですが、よろしくお願いいたします。 やりたいことは、データベースに保存したデータの統計処理を行うソフトを制作したいです。 今は、よくわかっていませんが、ユーザが多い、MYSQLをインストールした段階です。 データの登録方法などの使い方を、これから勉強するのですが、情報が多いためある程度絞り込んで勉強したく、教えてください。 (1)データベースも、統計処理するソフトも、1台のPC内にあるため、サーバー機能は不要と考えているのですが、いかがでしょうか? パッケージで、MYSQLをインストールすると、サーバの設定画面が立ち上がったのですが、 キャンセルしても大丈夫でしょうか? (2)統計処理するソフトは、データベースに保存したデータの組み合わせを変更しながら、それぞれの組み合わせでの計算処理を行うようなものです。MYSQLをインストールするといくつかのソフトが同時にインストールされますが、どのソフトがあればよろしいでしょうか? (3)MYSQLのデータにアクセスし、データを取り出し、計算処理などを行い易いプログラム言語はなんでしょうか? 私は、C言語であればわかるのですが、C言語では難しいでしょうか? 以上、よろしくお願いいたします。
質問日時: 2017/11/23 22:24 質問者: りゅちんさん
解決済
1
0
-
POSTで受け渡した値をmySQLからデータを抽出し、”順番通り”に表示させたい
表のように、社員番号(id)・名前(name)・年齢(age)の3カラムからできているテーブルがあります。 (syain.html)のように、3つの検索ボックスを作り、各ボックスに社員番号を入れて、その値を(syain.php)に受け渡します。 この時、検索結果を(syain.html)でテキストボックスに入力した値に対応する順番通りに表示させたいのですが、やはり、idの小さい順に表示されてしまいます。 最初のテキストボックスに(id=8715) を入力したら、検索結果も(id=8715)の列が最初に表示されるようにしたいという意味です。 (syain.php)で、where以下の条件を"or"で指定する事以外考えつかず、成す術がありません。 (syain.html)で <input type="text" name="number[]"> <input type="text" name="number[]"> <input type="text" name="number[]"> みたいな連想配列でデータを渡す方法があるみたいですが、そうなると今度は、(syain.php)の処理が分かりません。 何卒、ご助言の程、よろしくお願い致します。 (syain.html)--------------------------------------------------------- <form action="syain.php" method="post"> <input type="text" name="id_1"> <input type="text" name="id_2"> <input type="text" name="id_3"> <input type="submit" value="送信"> </form> (syain.php)------------------------------------------------------------ <?php $id_1 = $_POST["id_1"]; $id_2 = $_POST["id_2"]; $id_3 = $_POST["id_3"]; $dsn = 'mysql:host="";dbname="";charset=utf8mb4'; $username = ''; $password = ''; try{ $pdo = new PDO($dsn,$username,$password); // SQL文 $sql = "select * from テーブル名 where id_1 = '$id_1' or id_2 = '$id_2' or id_3 = '$id_3'"; $stmt = $pdo->query($sql); $stmt -> execute(); while($rec = $stmt->fetch(PDO::FETCH_ASSOC)){ print $rec['id']; print $rec['name']; print $rec['age']; print '<br>'; } }catch (PDOException $e) { echo mb_convert_encoding($e->getMessage(),'UTF-8','SJIS-win'); } $pdo = null; ?> ---------------------------------------------------------------------------
質問日時: 2017/11/23 20:28 質問者: ma0p8f3s
ベストアンサー
1
0
-
MySQL SELECT句でサブクエリで得た値をASに置き換え、それをWEHEREで使いたいのですが
MySQLのクエリの書き方に関しての質問です。 下記のように、SELECT句より、サブクエリで得た値をASに置き換え、その値をWHERE句の2箇所で使いたいのですが、そのまま使ったら、SQLSTATE[42S22]: Column not found: 1054 Unknown column 't_count' in 'where clause'のようにカラムが見つからないといわれました。やはり、WHERE句でも、同じようにサブクエリで取得しないとだめなのでしょうか? ただ、一度SELECT句で取得しているので、効率が悪いので、なんとかしたいのですが、よい方法はありますでしょうか? $sql = sprintf('SELECT %1$s.ID, ' . '(SELECT count(%2$s.test_id) FROM %2$s WHERE %1$s.test_id = %2$s.test_id)AS t_count ' . 'FROM %1$s ' . 'WHERE 40 <= t_count OR 40 <= t_count', $this->test1, $this->test2); $stmt = $this->db->query($sql); $data = $stmt->fetchAll();
質問日時: 2017/11/09 17:04 質問者: PlanetSD
ベストアンサー
1
0
-
mysql超初心者です。よろしくお願いします!!
テーブルを作ろうとしましたが、、 「Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\paiza\01\database.php on line 17」というエラーで、、色々検索でも解決できませんでした。。 どなたか、教えていただけないでしょうか。。 構文は、このようにしました!! mysql > CREATE TABLE takeda ( `id` int(11) not null auto_increment, `name` varchar(255) default null, `email` varchar(255) default null, `price` int(11) default null, `created` datetime default null, PRIMARY KEY(id)); $dbn = array ( "INSERT INTO `takeda` (name, price) VALUES ('鉛筆', 80)", "INSERT INTO `takeda` (name, price) VALUES ('消しゴム', 50)", "INSERT INTO `takeda` (name, price) VALUES ( '定規', 200)", "INSERT INTO `takeda` (name, price) VALUES ('コンパス', 300)", "INSERT INTO `takeda` (name, price) VALUES ('ボールペン', 100)", ); 以上です。。 よろしくお願いします。。
質問日時: 2017/11/05 13:28 質問者: ゴスケ
解決済
4
0
-
MySQLのlastInsertId()関数でIDを返すように、カラムの値を返す関数はありますか?
lastInsertId()では、オートインクリメントで発行された直近のIDを返すことができますが、そのIDの指定したカラムの直近の値を返すような関数はありますでしょうか? やはり、ここはめんどくさくても、IDを元にSELECTで選択するしかないのでしようか。
質問日時: 2017/10/31 11:49 質問者: PlanetSD
ベストアンサー
2
0
-
Goozzee というナレッジベースを使っている方はいませんか?
このツールを試そうとしているのですが、設定がうまくいかず、動かせません。 自分のPCにMySQLをインストールした場合、ServerAddressにはなんと指定すれば良いのでしょうか?「localhost」ではダメですよね?というか、今、それでUnknownServer…になってしまっています。 ダイアログに表示されるエラーメッセージは、「Unable to connect to database」です。 ユーザーはrootユーザーで試しています。 コマンドプロンプトで、MySQLにログイン出来て、データベースも作成されていることは確認しました。(もちろん、データベースはGoozzeeによる自動生成です)
質問日時: 2017/10/24 17:13 質問者: 201wanchan
ベストアンサー
6
0
-
csvファイルを自動で取り込み(Windows 7上)
Windows 7上の環境です。 特定のフォルダの置かれた、CVSファイルを自動でデータベースの対応するテーブルに入力させるというのは可能でしょうか? 可能な場合、具体的にどのような方法がありますか? バッチファイルや、PowerShellでできれば最高ですが、何らかのスクリプト言語でも可です。 特定フォルダはイントラ上の共有フォルダを考えていますが、データベースが稼働するPC上でも可です。 MySQLの入門書をみたのですが、MySQLのコマンドモード?でCVSを取り込むというのはあるのですが、外部から自動でできるのかは分かりませんでした。 ご存知の方がいらっしゃいましたらご教示をお願いします。
質問日時: 2017/10/01 08:04 質問者: siffon9
ベストアンサー
2
0
-
MYSQL、同一表での差分は、一つのselect文では出来ない?
こんばんは。 DB初心者なのですが、PHPとMYSQLを用いてTwitterのフォロワーを登録しているfollower表を管理しています。 で、昨日から今日にかけて増えたフォロワーのIDを出したいなと思い、以下のselect文が思いつきました。 SELECT follower.id FROM follower NOT EXISTS(SELECT 1 FROM follower WHERE follower.date=昨日) AND follower.date=今日; ですが、これは結果が返りませんでした。 http://gyoshida.blogspot.jp/2009/11/blog-post.html さんを見ますと、dumpしてOSコマンドで…とあります。他のサイトでは思いの丈をぶつける答えはありませんでした。 もしかして、DBの1つのselect文だけでは、同一表の差分は得られないのでしょうか? 以下がフォロワー表のdescです。 id big int,date date 以上、よろしくお願いいたします。
質問日時: 2017/09/25 03:52 質問者: kuru_4325_hjsdkfh
ベストアンサー
2
0
-
サーバー移動でMysqlのDBがEUCから→UTF8に勝手になる?
サーバー移動に伴い、mysqlのDBも移動することになりました。 元サーバーのDBは文字コードがEUCです。 元サーバーのphpmyadminからエクスポートでDBをダウンロードし、そのDBを新サーバーにアップ。 mysql -u root -p で新サーバーにリストアしました。 新サーバーのphpmyadminをみると自動的にUTF-8になっていました。 リストアしたときに自動的にEUC→UTF-8になったのでしょうか? しかしphpmyadminでDBを見てみると、各テーブルの照合順序はujis_japanese_ciになっています。 ところが各テーブルの合計はutf8_general_ciになっていました。 これはどういうことなのでしょうか? 今後、このDBにUTF-8のデータを追加していっても大丈夫なのでしょうか? 参考になるか分かりませんが、my.cnfの中はこんな感じになっています。 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server=utf8 skip-character-set-client-handshake [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 どうかよろしくお願いいたします。
質問日時: 2017/09/11 04:29 質問者: sasatoto59
ベストアンサー
1
0
-
SQLについて質問
以下のような三つのテーブルがあります。 T_a id parent_id name ——————————— 1 null くだもの 2 1 りんご 3 1 みかん 4 1 ぶどう 5 null やさい 6 5 キャベツ 7 5 かぼちゃ 8 5 にんじん T_b user_id id —————— a 2 a 6 b 3 b 8 c 8 d 4 T_c user_id name —————— a たろう b はなこ c じろう d ごんすけ 求めたい結果は以下です。 a たろう りんご キャベツ b はなこ みかん にんじん c じろう null にんじん d ごんすけ ぶどう null この際のクエリーをご教示願います。 mysqlを使っています。
質問日時: 2017/08/28 18:12 質問者: 7t8ptnkq
解決済
2
0
-
ある行より前の合計値を使った計算の求め方
次のようなテーブルで DROP TABLE IF EXISTS tbl; CREATE TABLE IF NOT EXISTS tbl ( id int(11) NOT NULL, type ENUM('a', 'b', 'c') NOT NULL DEFAULT 'a', val1 int NOT NULL, val2 double NOT NULL, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO tbl (id, type, val1, val2) VALUES (1, 'a', 150, 1.5); INSERT INTO tbl (id, type, val1, val2) VALUES (2, 'b', 50, 0.3); INSERT INTO tbl (id, type, val1, val2) VALUES (3, 'c', 5, 0.5); INSERT INTO tbl (id, type, val1, val2) VALUES (4, 'b', 30, 0.1); idが4の場合のval2を、それまで(idが1~3)のtypeが'a'と'b'のval1の合計で割った値を求めたいですが、 この例だと 0.1÷(150+50)=0.0005 という結果を得たいのです。 どのようなSQL文にすれば良いのでしょうか?
質問日時: 2017/08/12 18:03 質問者: takagoo100
ベストアンサー
2
0
-
はじめまして iPhone初心者です。 グーグル、ヤフーで検索しているのですが 自分の会社、名前にヒ
はじめまして iPhone初心者です。 グーグル、ヤフーで検索しているのですが 自分の会社、名前にヒットしません。 おわかりになられる方 いらっしゃったら 教えてください。
質問日時: 2017/08/08 09:51 質問者: しろとたま
解決済
1
0
-
MySQL AUTO_INCREMENTが最大になったら?
AUTO_INCREMENTで最大値になったら、どのように対処すればよいのでしょうか? そとれも、もともとAUTO_INCREMENTなんて使わないほうがよいのでしょうか?
質問日時: 2017/08/02 09:09 質問者: PlanetSD
ベストアンサー
2
0
-
シャットダウン後にDBサーバに接続できない
お世話になります。よろしくお願いします。 データベースに不慣れですが、現在TurboNAS TS-219p Ⅱ(ちょっと古い機種を入手) でデータベース(MySQL)を製作しています。 電気工事停電のためサーバを shutdown しました。電源復旧後に起動したのですが、データベースに接続できなくなりました。 shutdown 前にIPアドレスを固定にする設定に替えました。(IPアドレスは設定どおりに前のままでした) これ以外の設定変更はしていません。 再起動後にWEB上の(QNAP)管理画面から、phpmyadmin を起動しMySQLに接続をしましたが、phpmyadmin のログイン画面は表示されず、接続が拒否されましたとメッセージが表示されました。(ERROR_CONNECTION_REFUSED) サーバにリモートログインし、mysql -u root -p を実行してみましたが、mysql.socket がないという意味のエラー表示がされました。 また、sh mysqld.sh start も試しましたが、失敗しました。 まったく解決の手がかりがありません。 状況の説明にも不足があると思いますが、ご教示のほど、よろしくお願いいたします。
質問日時: 2017/07/25 23:33 質問者: wakarun
解決済
1
0
-
MySQLでの文字置換について
MySQLの文字列置換関数(replaceあるいはその他)で以下のような置換は可能でしょうか 例)山田太郎→山●太● 横浜市→横浜市神奈川区→横●市●奈●区 つまり1文字おきに任意の文字を●に置き換えたい…というものです。 oracleであればregexp_replaceで可能なようなのですがMySQLで 同等なことは可能でしょうか
質問日時: 2017/07/06 15:03 質問者: akkii1961
ベストアンサー
1
0
-
InnoDB ClusterとGroup Replicationの構築について
こんにちは。 仕事でInnoDB Cluster の構築をしなければならないのですが、 導入するサーバのOS「Linux」やインフラ、ネットワークに関しての知識が皆無なため、まったく作業を進められず困っています。 知りたいことは 「InnoDBで使用するGroupReplicationの構築 ←これに必要なものと手順」 「InnoDBの構築に必要なものと手順」 です。 (怠け者のようですが、使用するコマンドも教えていただけたら助かります) 参考になるブログをいくつか検索し、書かれている手順通りコマンドをうってみたり検索してみるものの エラーの連発や、コマンドの意味を一つ一つ調べながらのため、作業が全く進みません。 お助けいただければと思います。よろしくお願いします。 環境 Linux CentOS 6.8 MySQL 5.7 ブログ等を参考に進める上で、すでにインストールしたもの MySQL APT Repository MySQL Community Server MySQL MySQL Shell MySQL MySQL Router
質問日時: 2017/07/06 11:34 質問者: 雑魚初心者
ベストアンサー
1
0
-
MAMPでMySQLのパスが通らない
macOS Sierraを使っています。 wp-cliを使いたいためterminal経由でコマンド操作をしたいのですが、 mysqlのパスを通すところで躓いております。 検索してみると ~/.bash_profile にパスをかけということで試してみたのですが、 色々試してみたのですが、 which mysql すると /usr/local/bin/mysql となってしまいます。 本当は、 /Applications/MAMP/Library/bin としたいです。 現在bash_profileの中身は PHP_VERSION=$(ls /Applications/MAMP/bin/php/ | sort -n | tail -1) export PATH=$PATH:/Applications/MAMP/Library/bin export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH alias wp='php /Applications/MAMP/bin/php/${PHP_VERSION}/bin/wp-cli.phar' このようになっています。 echo $PATH した結果は /Applications/MAMP/bin/php/php7.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/MAMP/Library/bin です。 余談ですが、phpは /Applications/MAMP/bin/php/php7.1.1/bin/php にパスを通したいのですが、それは上手くいっています。 同じ変数PATHにphpとmysqlのパスを記載しているので、それが原因な気がしているのですが、順番を入れ替えても変わらず、変数名を変えてみても変わらないため困っております。 検索してみてもそれっぽい症状に出会わないため、かんたんすぎる原因な気もするのですがご教授いただければ幸いです。
質問日時: 2017/07/02 23:37 質問者: delcder0d3
ベストアンサー
7
0
-
Mysqlで変数を使ったSELECT文の結果がphp内で取得できない
mysql+phpでWebアプリを作り始めた者です。 行き詰っている部分がありまして、教えて頂けると助かります。 select文の選択結果に対してのレコード番号を動的に取得したくて、下記のようなSQL文をphpの中で実行するため、下記のようなコードを書きました。 $sql="set @nm=0;select * from (select @nm:=@nm+1 as cnt, f01,f02 from tbl where f02="***") as a limit 0,10"; $rs = mysqli_query($cn, $sql); $cnt = mysqli_num_rows($rs); // 総行数 $rs = mysqli_query($cn, $sql); while ($row = mysqli_fetch_assoc($rs)) { // 略 } ここで、結果をphpで取得する部分の行で、 Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in *****.php on line 70 Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in *****.php on line 289 というエラーが発生してしまい、結果が1件も返りません。 SQL>set @nm=0;select * from (select @nm:=@nm+1 as cnt, f01,f02 from tbl where f02="***") as a limit 0,10 と直接にSQLを入れた場合は、正常に結果が表示されます。 このレコード番号を取得するための変数を入れる前は、下記のようなSQLを実行していましたが、正常に動作しておりました。 $sql="select f01,f02 from tbl where f02="***" limit 0,10"; 変数を含んだSQL文をphpで実行するのは無理なんでしょうか?
質問日時: 2017/06/12 16:21 質問者: hatsuzo
ベストアンサー
2
0
-
2つのテーブル間でデータの比較・抽出をしたい
テーブルAのnameカラムに5万件の名前があり、テーブルBのkanjiカラムには500件の漢字があります。 テーブルA nameカラム 青井一郎 赤衣智 宇野陽子 . . (5万件の名前) テーブルB kanjiカラム 赤 青 白 . . (500件の漢字) テーブルBのkanjiカラムにまだ登録されていない、テーブルAのnameカラムに登録されている漢字を抽出したいのですが、どのようなSQLなら可能でしょうか? よろしくおねがいします。
質問日時: 2017/06/12 15:17 質問者: feed12
ベストアンサー
2
0
-
mysql で2つのテーブルを同時に count で集計
mysql に店舗A,店舗Bの出勤状況を記録しているとする. X,Y,Zさんは両方の店舗に出勤している. 3人それぞれの出勤回数(店舗A+店舗B)を求めるには,どうすればいいですか? 知っている方がいれば,教えていただけませんか? フィールドは 社員番号(id) 出勤時間(time_in) 退勤時間(time_out) があります.
質問日時: 2017/06/11 02:48 質問者: 東鬼
解決済
2
0
-
webアプリケーションリリース後の問題
サーブレット、tomcat,mysqlを使ってwebアプリケーションをリリースしました。 しかし問題が出て、データベースの値を表示させるページがあるのですが ₁日経つと表示がされなくなってしまいます。 mysqlの設定かと思ったのですが関係ないようです 接続の仕方が違うページは問題ありません やはりプログラムに原因があるのでしょうか? 考えられる原因を教えてください。
質問日時: 2017/05/22 10:57 質問者: hnmtseik
解決済
2
0
-
mysqliのコードは、どの文字がどういう役目をしてmysqlデータベースに接続してるんですか?
PHP学習中で、mysqliってなんだろう。と思い、このページで→http://php.net/manual/ja/mysqlinfo.api.choosing.php でしらべていました。 このページの、↓mysqliの見本?の部分ですが、 $mysqli = new mysqli("example.com", "user", "password", "database"); $result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL"); $row = $result->fetch_assoc(); echo htmlentities($row['_message']); これはどのコード(文字、単語)がどういう役目をしてデータベースに接続しているんですか? 例 1行目 mysqli() が、それぞれの引数のユーザーネームやらパスワードやらを~して、それを$mysqlに入れる。 ちなみにnewは~のためにある。 2行目 ・・・ 3行目 ・・・
質問日時: 2017/05/18 14:42 質問者: rakuben
解決済
2
0
-
MySQL のインポートでエラーが発生しました。
ECCUBEのデータベースのダンプをインポートしようとしたところ以下のエラーが出ました。 圧縮ファイルではなく、.sql です。 どうすればいいですか? Database: `_tsart_poex8bbhq` -- CREATE DATABASE IF NOT EXISTS `_tsart_poex8bbhq` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; MySQL のメッセージ: ドキュメント #1044 - Access denied for user '_geai_poex8bbh'@'172.19.100.0/255.255.252.0' to database '_tsart_poex8bbhq'
質問日時: 2017/05/17 15:13 質問者: kurobon619
ベストアンサー
1
0
-
MySQLのAVGでWHERE句を使い条件を絞り込んで平均値を出したい
売上の集計を行うSQL文を作成しています。WHERE句を使って条件を絞り込んだうえでAVGを使うと求める平均値と違う値が返ってきてしまいます。 どのようにすれば正しい値を得られるのか教えていただければと思います。 [環境]MySQL5.7 テーブル名: sales2 カラム: id,product_id(製品コード),date(営業日),volume(売上) product_idが1で 2017/1/8より前のデーターで新しい日付のものを上位3件絞り込んで、volume(売上)の平均値を出したい。 まず、avgを使う前に、3件分のデータを抽出してみました。 SELECT id, volume, date FROM sales2 WHERE date < '2017/1/8' AND product_id =1 ORDER BY date DESC LIMIT 3 [結果] +----+------------+--------+ | id | date | volume | +----+------------+--------+ | 18 | 2017-01-07 | 96 | | 17 | 2017-01-06 | 28 | | 27 | 2017-01-05 | 19 | +----+------------+--------+ 次にAVGを使ってSQL文を作りました。 SELECT AVG(volume) FROM sales2 WHERE date < '2017/1/8' AND product_id =1 ORDER BY date DESC LIMIT 3 [結果] +-------------+ | AVG(volume) | +-------------+ | 33.8333 | +-------------+ 3日間の結果は (96 + 28 +19) / 3で 47.66 となるはずなのですが、33.8333という答えが返ってきます。 ---------------------------------- テストデータ ---------------------------------- CREATE TABLE IF NOT EXISTS `sales2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `volume` int(11) NOT NULL, `date` date NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=29 ; INSERT INTO `sales2` (`id`, `product_id`, `volume`, `date`) VALUES (9, 1, 10, '2017-01-01'), (10, 1, 30, '2017-01-02'), (11, 1, 20, '2017-01-03'), (12, 1, 70, '2017-01-04'), (13, 2, 55, '2017-01-01'), (14, 2, 30, '2017-01-02'), (15, 2, 86, '2017-01-03'), (16, 2, 64, '2017-01-04'), (17, 1, 28, '2017-01-06'), (18, 1, 96, '2017-01-07'), (19, 1, 88, '2017-01-08'), (20, 1, 12, '2017-01-09'), (21, 1, 57, '2017-01-10'), (22, 2, 26, '2017-01-06'), (23, 2, 79, '2017-01-07'), (24, 2, 29, '2017-01-08'), (25, 2, 90, '2017-01-09'), (26, 2, 60, '2017-01-10'), (27, 1, 19, '2017-01-05'), (28, 2, 33, '2017-01-05');
質問日時: 2017/05/04 15:45 質問者: hpmt28
ベストアンサー
1
0
-
MySQLの自己結合で3日分(日付の抜けあり)の売上データを1行に表示したい
MySQLの自己結合を使って、3日間の売上データを同じ列に表示するプログラムを作っています。 日付が連続している場合(当日、1日前、2日前)のSQL文は作れたのですが、日付が飛んでいる(日付に抜けのある)場合のSQL文がうまく作れません。 どのようなSQL文を作成すればよいか教えていただければと思います。 テーブル名: sales2 カラム: id,product_id(製品コード),date(営業日),volume(売上) ---------------------------------------- 3日間の売上データ(日付に抜けが無い場合) ---------------------------------------- SELECT A.id, A.product_id, A.date, A.volume, B.volume AS volumeB, C.volume AS volumeC FROM sales2 AS A INNER JOIN sales2 AS B ON A.product_id = B.product_id AND A.date = DATE( B.date + INTERVAL 1 DAY ) INNER JOIN sales2 AS C ON A.product_id = C.product_id AND A.date = DATE( C.date + INTERVAL 2 DAY ) ORDER BY A.product_id ASC , A.date DESC +----+------------+------------+--------+---------+---------+ | id | product_id | date | volume | volumeB | volumeC | +----+------------+------------+--------+---------+---------+ | 21 | 1 | 2017-01-10 | 57 | 12 | 88 | | 20 | 1 | 2017-01-09 | 12 | 88 | 96 | | 19 | 1 | 2017-01-08 | 88 | 96 | 28 | | 18 | 1 | 2017-01-07 | 96 | 28 | 19 | | 17 | 1 | 2017-01-06 | 28 | 19 | 70 | | 27 | 1 | 2017-01-05 | 19 | 70 | 20 | | 12 | 1 | 2017-01-04 | 70 | 20 | 30 | | 11 | 1 | 2017-01-03 | 20 | 30 | 10 | | 26 | 2 | 2017-01-10 | 60 | 90 | 29 | | 25 | 2 | 2017-01-09 | 90 | 29 | 79 | | 24 | 2 | 2017-01-08 | 29 | 79 | 26 | | 23 | 2 | 2017-01-07 | 79 | 26 | 33 | | 22 | 2 | 2017-01-06 | 26 | 33 | 64 | | 28 | 2 | 2017-01-05 | 33 | 64 | 86 | | 16 | 2 | 2017-01-04 | 64 | 86 | 30 | | 15 | 2 | 2017-01-03 | 86 | 30 | 55 | +----+------------+------------+--------+---------+---------+ 16 rows in set (0.01 sec) ---------------------------------------- 試してみたこと ---------------------------------------- volumeは当日の売上、volumeBは1日前の売上、volumeCは2日前の売上になっています。 DATE( C.date + INTERVAL 2 DAY ) の部分でサブクエリを使って当日より前の日付で最大のものを1つ抽出するようにすればよいと思い試しましたが、うまくいきませんでした。 ---------------------------------- テストデータ ---------------------------------- CREATE TABLE IF NOT EXISTS `sales2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `volume` int(11) NOT NULL, `date` date NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=29 ; INSERT INTO `sales2` (`id`, `product_id`, `volume`, `date`) VALUES (9, 1, 10, '2017-01-01'), (10, 1, 30, '2017-01-02'), (11, 1, 20, '2017-01-03'), (12, 1, 70, '2017-01-04'), (13, 2, 55, '2017-01-01'), (14, 2, 30, '2017-01-02'), (15, 2, 86, '2017-01-03'), (16, 2, 64, '2017-01-04'), (17, 1, 28, '2017-01-06'), (18, 1, 96, '2017-01-07'), (19, 1, 88, '2017-01-08'), (20, 1, 12, '2017-01-09'), (21, 1, 57, '2017-01-10'), (22, 2, 26, '2017-01-06'), (23, 2, 79, '2017-01-07'), (24, 2, 29, '2017-01-08'), (25, 2, 90, '2017-01-09'), (26, 2, 60, '2017-01-10'), (27, 1, 19, '2017-01-05'), (28, 2, 33, '2017-01-05');
質問日時: 2017/04/28 21:58 質問者: hpmt28
ベストアンサー
2
0
-
設定が更新されない
mysqlの初期の文字コードを変換しようとし、以下の記述を追加しました。 [client] character-set-server=utf8 default-character-set=utf8 [mysqld] character-set-server=utf8 default-character-set=utf8 [mysql] #default-character-set = cp932 default-character-set=utf8 設定変更後、mysqlを起動しshow variables like "chara%";と打ったところ下記のようになりました。 +--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | cp932 | | character_set_connection | cp932 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | cp932 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\xampp\mysql\share\charsets\ | +--------------------------+--------------------------------+ なぜか、shift_jisのままです。 なぜ、設定が更新されないのでしょうか。またどうすれば変更できますか。
質問日時: 2017/04/27 19:49 質問者: gooooooooooooooooo
ベストアンサー
1
0
-
mysql のエラーについて
sql文で下記のように書いてテーブルを作成したのですが CREATE TABLE resip( resip_id SERIAL PRIMARY KEY, resip_text TEXT NOT NULL, resip_time TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(6), resip_time_2 TIMESTAMP(6) NULL, resip_boo BOOLEAN DEFAULT TRUE ); このようなエラーが出てしまい困っています。 #1064 - 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 ' NULL, resip_boo BOOLEAN DEFAULT TRUE )' at line 5 お時間のある方ぜひご指摘お願い致します。 やりたいことは、上から resip_id 数値 主キー 自動連番 resip_text テキスト 未入力認めない resip_time 日時(ミリ秒6桁まで)デフォルト値は現在日時 resip_time_2 日時(ミリ秒6桁まで) 未入力認める resip_boo 真偽 初期値は真
質問日時: 2017/04/15 03:01 質問者: nanashinogogo
解決済
2
0
-
mysqlでupdateのサブクエリに付いて
名簿のテーブルが下記の構成です。 id 数値の型で主キー 名前 テキストの型 データが次の様になっている。 1 山田 2 太郎 3 花子 ここで、idを順にプラス1してそれぞれを 2 山田 3 太郎 4 花子 と言う様に名簿のテーブルのデータを更新したい。 これを単に update 名簿 set id=id+1; では、id=2と3に付いては主キーとなっている為にデータは更新されな い。なので、一旦idを降順にしたテーブルを作ってから更新クエリを実 行すれば問題は無いと思う。 この様な動作をサブクエリを使って、一つのクエリにしたいのですが。 update文のsqlが分かりません。 宜しく回答願います。
質問日時: 2017/04/11 20:25 質問者: usui-2015
ベストアンサー
1
0
-
解決済
1
0
-
解決済
1
0
-
名前ドットコムって作って、1年経たない間に退会したらお金ってかかりますか?
名前ドットコムって作って、1年経たない間に退会したらお金ってかかりますか?
質問日時: 2017/04/07 23:12 質問者: mkmt07
ベストアンサー
2
0
-
更新クエリが実行できない
アクセス2010で名簿管理(自分でソフトを作成)をおこなっていますが 更新クエリー(会費入金額仮更新)を作成して1回はできたのですが次回実行すると「因数が無効です」のメッセージがでてしまい クエリーが実行できません。何が原因なのか教えてください。
質問日時: 2017/04/05 13:32 質問者: himejyun
ベストアンサー
2
1
-
SQL文で、一部一致した列だけ抽出
いま、セル内に 12344<> 22344<>44<> 3244<> 44<> のように文字列のデータが入れてあって、 SELECT * FROM num WHERE id LIKE %44<>%; のように指定すると、すべての列を抽出してしまいます。 上記で言うと、2列目と4列目だけ抽出させたいのですがどう書けばいいでしょうか。 上記例では2桁の数値ですが、2桁に限らないです。 (数字+<>というスタイルは同じ) また、可能であれば、1セルの中に他の数字が混じっているが一致する列(2列め)と、他の数字は混じっていない列(4列目)を個別に抽出する方法も教えて頂けると助かります。 よろしくお願い致します。
質問日時: 2017/03/31 18:05 質問者: umioyo
ベストアンサー
1
0
-
SELECT * FROM
SQL文について SELECT CustomerID, CompanyName FROM Customers セレクト文なのですがセレクトは その名の通り「選ぶ」という意味で fromは「から」という意味だと思うのですが select * from は「~から選んだ」みたいな解釈で良いのでしょうか? SQL初心者です。
質問日時: 2017/03/29 11:56 質問者: SHIN11SHIN
ベストアンサー
2
0
-
mysqlへのインポート処理がうまくいかない
mysqlへcsvファイルをインポート(アップロード)するところで躓いています。 テーブルは mysql>create table workf01( f01 varchar(10) NOT NULL DEFAULT, f02 varchar(10) DEFAULT NULL, f03 varchar(30) DEFAULT NULL, PRIMARY KEY (f01) ) ENGINE=InnoDB DEFAULT CHARASET=cp932; csvデータはWindowsServer上のWebアプリからダウンロードされたもので、下記のような形で入っています。 "aaa","123" "bbb","1234","9999" "ccc","12345","99" 下記のコマンドでアップロードしました。 mysql>load data infile 'd:/workf01.csv' into table workf01 -> fields terminated by ',' enclosed by '"' lines terminated by '\r\n' -> ignore 1 lines; 結果は、下記のエラーになりました。 #1261:Row 1 doesn't contain data for all columns 最終カラムには値が落ちないレコードがあるせいかと思い、accessで一旦取り込んでからエクスポートしなおしたところ、下記のように、1レコード目の最終カラムの区切りカンマが入りました。 "aaa","123", "bbb","1234","9999" "ccc","12345","99" アップロードを再実行したところ、前回のエラーは出なくなったものの、 #1406:Data too long for column 'f01' at row 1 というエラーが出て困っています。f01に入っている値の長さは10バイトに収まっています。 1件も書き込まれないので、原因が良く判らず困っています。 何かアドバイスを頂ければ幸いです。 実行環境としては、 WindowsServer2012上で、mysql 5.4.43 データベースの文字コードは mysql>show variables 'charset%'; character_set_database=cp932; となっています。
質問日時: 2017/03/24 16:54 質問者: hatsuzo
解決済
1
0
-
カラムで指定したカラム名をwhere句で使うことはできないですか?
例えば、以下のような感じ。 SELECT avg(weight) as avg from data where weight > avg; 上記の実例はわかりやすくするために平均値より大きいものを抽出していますが、実際にやりたいことは別でもっと複雑なことをしたいです。カラムでcaseで条件ごとに出した値をwhere句で使いたかったり。
質問日時: 2017/03/21 20:33 質問者: macus
ベストアンサー
3
0
-
解決済
1
0
-
mysqlのカラム名に抽出した結果を使う。
■データテーブル(t1) id name weight sort 1 apple 1 A 2 apple2 3 A 3 apple3 5 B ■weightテーブル(t2) weight A B 1 20 30 2 30 40 3 40 50 4 50 60 5 60 70 上記のようなテーブルがあった時に、結果として name weight,fee apple 1 20 apple2 3 40 apple3 5 70 ←sort=Bなので、t2テーブルのBの方の値 select name,weight,t2.{t1のsortの値} as fee from t1,t2 where t1.weight = t2.weight; と言った感じにカラム指定で、変数みたいな感じで指定することは可能のなのでしょうか? よろしくお願いします。
質問日時: 2017/03/18 01:40 質問者: macus
ベストアンサー
2
0
-
[mysql]テーブルの結合
■データテーブル id name weight 1 apple 1 2 apple2 3 3 apple3 5 ■weightテーブル weight fee 1 20 2 30 3 40 4 50 5 60 ■weight個別設定テーブル ... weightテーブルとは違って特別に設定したいデータidだけ登録 data_id fee 3 30 上記のような3つのテーブルを結合して、各商品名(データテーブルのname)ごとのfeeを出したいです。通常はweigthテーブルからfeeを取るのですが、weight個別設定テーブルにデータがあった場合はそちらを優先したい。 結果として、 name weight fee apple 1 20 apple2 3 40 apple3 5 30 ← weight個別設定テーブルで指定されてる値 これを実現するためにsqlとしてどう書けばいいのかがわかりません。。。 よろしくお願いします。
質問日時: 2017/03/17 17:32 質問者: macus
ベストアンサー
1
0
-
mysqlにおけるホストのパーセントとは
mysqlにおいて、create user hoge identified by "hogehoge";とすると、hostが%となっている権限が出来上がります。 ユーザー名hogeに「@localhost」とつけたうえで、権限を作成するとhostがlocalhostとなります。ローカルホストは、ネットワークに繋がっているPCのうち自分のPCを意味するものなので、 ローカルホストと付けた場合、自分のPCでしか接続できない権限で、ホストがワイルド―カードで任意の文字列を意味する%を持つ権限は、他のPCからでも接続できる権限だと仮定しているのですが、 実際は、どうなのでしょうか。色々とネットで調べてみましたがいまいち理解できず質問しました。 ヴァージョンは、5.6.16です。
質問日時: 2017/03/08 20:00 質問者: gooooooooooooooooo
ベストアンサー
1
0
-
mysqlのエラーについて
端末にて mysql -u root このコマンドを実行したところ ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) このようなエラーがはかれます /var/lib/mysql ここを確認してみたところmysql.sockは存在しました(中身は白紙) どうすれば解決できるのでしょうか 環境 CentOS Linux release 7.3.1611 (Core) mysql Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using EditLine wrapper
質問日時: 2017/03/08 11:43 質問者: MISHIRO
解決済
3
0
-
mysqlの起動について
久しぶりにmysqlを起動しようとしたところpasswordを忘れてしまい、起動できませんでした。 検索したところmysqlをセーフモードで起動してリセットすればよい、とのことだったので mysqld_safe --skip-grant-tables & ↑このコマンドを入力したのですが、 [1] 5154 bash: mysqld_safe: コマンドが見つかりませんでした... ↑このようなことを言われてしまい起動できませんでした 番号は毎回変わるのでエラーコードというわけでもない気がします このような場合どうすればよいのでしょうか 環境 CentOS Linux release 7.3.1611 (Core) mysql Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using EditLine wrapper
質問日時: 2017/03/08 01:38 質問者: MISHIRO
解決済
3
0
-
php $dsn
PHPのデータベースとの連携なのですが 結論から言うとどうゆふうに宣言するのが適切でしょうか? 参考URL http://qiita.com/mpyw/items/b00b72c5c95aac573b71#comment-e9db50fff9bffa1dd6f8 $pdo = new PDO($dsn, $username, $password, $driver_options); というデータベースと連携する為の一行があると思いますが これをリンク先のURLの通り?(自信ありません)にやると $pdo = new PDO(mysql:dbname=test;host=localhost;charset=utf8, $username, $password, $driver_options); になってしまうのですが合っていますでしょうか? 何でそう思ったのかというと 単純に$dsnが「 mysql:dbname=test;host=localhost;charset=utf8 」だと思うので$dsnに代入したのですが接続エラーなので間違っていると思いますがどうゆう風に宣言するのが適切でしょうか? 馬鹿な質問でスミマセン。
質問日時: 2017/03/07 15:30 質問者: SHIN11SHIN
ベストアンサー
1
0
-
ウェブサイトのホスト
今 https://nwh.ntt.co.th/ というサイトにアカウントを持っています。ウェブサイトも作りたいのですがこいつでできますか? 出来るのならやり方を教えてください
質問日時: 2017/03/04 18:02 質問者: hakunushi396
解決済
1
0
-
MySQL Null
MySQL Null MySQL Workbenchにて0ではなくnullを設定するにはどうしたら良いでしょうか? 指定したtableをSelect Rows Limit 1000で開き 該当の箇所に空っぽやnull、0、\n、¥nなどを指定してもNullにならなくて Result GridからダメならForm Editorからも同様の事を試したのですが 中々Nullになってくれなくて... 多分初歩的な事で躓いているんだと思いますが何か知恵があればご教授願います。m(__)m http://www.ksknet.net/postgresql/updatenull.html
質問日時: 2017/02/24 13:57 質問者: SHIN11SHIN
ベストアンサー
2
0
【データベース】に関するカテゴリ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
最新のコラム/記事
-
マッチングアプリで出会ったカップルは成婚率が高い!?結婚カウンセラーに聞いてみた
パートナーとの出会いの場として、もはや主流となったネット婚活やマッチングアプリ。中でも手軽に登録できるマッチングアプリは、10代から50代と幅広い年代が利用している。一方で、“相手の目的が投資関係の詐欺や...
-
メダロット:第250話「Vol.250※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
メダロット:第249話「Vol.249※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
日本古来の伝統工芸「金継ぎ」で修復した食器は前と同じように使えるの?
大切にしている食器が割れてしまったら、きっと誰もが「元に戻したい」と願うだろう。「教えて!goo」にも「割ってしまったお気に入りの食器を復活できる?」という質問があり、最適な方法について様々な意見が寄せら...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' で重...
-
WHERE `年月日` = '晴' OR `年月日`...
-
PhpMyAdminで作成して実行せよ。 東...
-
mysqlがインストールされているのか...
-
あってますか?SQL
-
SQLを作ったのですがうまくいきませ...
-
〜のような結果を出すためのSQLは以...
-
下の画像はSQLの4大命令の性質をま...
-
書籍の内容はまともでしょうか?
-
SQLです。こんな感じですか?あって...
-
エラー 1068 (42000): 複数の主キー...
-
SQLでカラムを追加し、条件に合致し...
-
【初歩】ラジオボタンをつかったPHP...
-
参考書に従って入力したつもりでし...
-
Mac です。ローカルホストの phpMyA...
-
MySQLでcreateが使えない MySQLを使...
-
SQLです教えてくださいお願いします
-
テーブル名が可変の場合のクエリの...
-
共通点はあります。何が違うのでし...
-
MySQL NULLだけをカウントして抽出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' で重...
-
テーブル名が可変の場合のクエリの...
-
SQLでカラムを追加し、条件に合致し...
-
テーブル:生徒名簿 生徒名簿の項目...
-
SELECT * FROM `生徒名簿` INNER JO...
-
SQL構文です 画像のようにしたいの...
-
〜のような結果を出すためのSQLは以...
-
このSQLあってますか?教えてください
-
MySQLのテーブル作成でハイフン - ...
-
初心者Mysqlの関数のsubstringにつ...
-
SQLです!!教えてください。あって...
-
参考書に従って入力したつもりでし...
-
SQLです!!教えてください。あって...
-
SQLです!!教えてください。あって...
-
データベースの接続に失敗してしま...
-
SQLで漢字名称を都道府県や市区町村...
-
SQLあってますか?こう?
-
エラー 1068 (42000): 複数の主キー...
-
`picture` varchar(255) のコマンド...
-
【初歩】ラジオボタンをつかったPHP...
おすすめ情報