『MySQL』に関する質問・疑問一覧

次へ  ]
4735件中 1~20件目
  • 簡単な投稿サイトを作りたい

    簡単な投稿サイトを作りたいのですが、下記のようにDBデータを表記することとDBにデータを入れることは何とか出来たのですが、実際に投稿サイトを作る場合、 inputに入力してもらった情報をDBのカラムに入れて、それを表記したい要素に渡してブラウザ上に表記し、削除ボタンを押したらカラムのデータを空にして表記していた要素を削除しないといけないですよね? これらの作業はすべてphpで行うよりサーバの負担を避けるためにinputに入力された文字列をphpの変数に入れるまではajaxを使ったjsで行うべきでしょうか? その場合どうやってphpのこの変数に入れるとするのでしょうか? そして$stmt->execute(array(値を受け取ったphpの変数名)); とすれば問題なくカラムにデータが入るでしょうか? 正直難しくてあまり検討が付きません。 ここまで来るとlaravelを使った方がよいのでしょうか? 生では厳しいですか? $db_host = "localhost"; // データベースのホスト $db_name = "toukoutest"; // データベースの名前 $db_user = "root"; // データベース接続ユーザー $db_pass = ""; // データベース接続パスワード // データベース接続を確立 try { $db = new PDO("mysql:host={$db_host};dbname={$db_name};charset=utf8", $db_user, $db_pass); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // エラーモードの設定 $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); // prepareのエミュレーションを停止 } catch (PDOException $e) { // エラー発生時 exit("データベースの接続に失敗しました"); } // データの問い合わせ $rows_post = array(); // 配列の初期化 try { // toukoutableの部分がテーブル名。itemの部分がカラム(フィールド)名 $stmt = $db->prepare("SELECT * FROM toukoutable ORDER BY item DESC"); $stmt->execute(); // クエリの実行 $rows_post = $stmt->fetchAll(); // SELECT結果を二次元配列に格納 } catch (PDOException $e) { // エラー発生時 exit("クエリの実行に失敗しました"); } if (count($rows_post) > 0) { echo '<ul>'; foreach ($rows_post as $row) { printf('<li>%s</li>', $row['item']); } echo '</ul>'; } else { // 取得行数が 0 だったときの処理 } // データをデータベースに入力 $stmt = $db->prepare('insert into `add` (addcol2) values (?)'); $stmt->execute(array('値222'));

    2017/10/13 09:12
  • PDOでDB ページング

    一覧画面と検索画面を一緒にしています 一覧画面は10件表示にし、テキストになにも入力されてなかったらデータを全件表示したいです また、1 l 2 l 3 のようにページを表示し、また何件中何件目データですと表示したいです <!--一覧画面 index.php--> <html> <head> <title>一覧画面</title> </head> <body> <br><br> <blockquote> 一覧画面 <br><br> <?php if ($_GET) { // データがGETされていたら $event = isset($_GET['event']) ? $_GET['event'] : ''; // 取得 if (isset ($_GET['page'])==false) { $page=0; } else { //そうでなければpageパラメータの値をpage変数にセット $page = $_GET['page']; } } ?> <?php $pdo = new PDO("mysql:dbname=db_test;host=localhost", "root", "admin"); $name=isset($_GET['name'])?$_GET['name']:""; $sql ="select * from tbl_test where "; $sql.="`氏名` like concat('%',?,'%') "; $sql.="or `住所` like concat('%',?,'%') "; $sql.= " limit " . $page*10 . ", 10" ; $stmt = $pdo->prepare( $sql); $stmt->execute(array($name,$name)); $count = $stmt->rowCount(); if($count>0){ print "<table border=1>" ; print "<tr>"; print "<th>番号</th>"; print "<th>氏名</th>"; print "<th>住所</th>"; print "<th>操作</th>"; while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ print "</tr>"; $ID = htmlspecialchars($row['番号']); $NAME = htmlspecialchars($row['氏名']); $ADDR = htmlspecialchars($row['住所']); echo "<tr> <td>$ID</td> <td>$NAME</td> <td>$ADDR</td> <td><a href='edit.php?番号=$ID'>修正</a> <a href='delete.php?番号=$ID'>削除</a></td></tr>"; }; print "</table>" ; }else{ print "該当するデータがありません"; } ?> <br><br><br> <form action = "index.php" method="GET"> <input type="hidden" name="event" value="find"> <input type="text" name="name"style ="font-size:20px;width: 400px; height: 40px"> <input type="submit" value="検索" style ="font-size:20px;width: 100px; height: 40px"> </form> <br><br> <form action = "regist.php" method="GET"> <input type="hidden" name="event" value="regist"> <input type = "submit" value = "新規登録" style ="font-size:20px;width: 100px; height: 40px"> </form> <input type="hidden" name="page" value="0"> </blockquote> </body> </html> 検索のテキストボックスが空だったら全件表示したいのですが今10件しか出ません limitの書く場所が原因でしょうか? またこのように一覧画面と検索結果画面が一緒じゃまずいですかね? 検索結果を別ウインドウじゃなく自分に返したいと思いこのやり方にしたのですがよくないですか?

    • ベストアンサー
    • すぐに回答を!
    • noname#197690
    • MySQL
    • 回答12
    2014/05/01 09:13
  • PHPにて画像登録および検索

    こんにちは。PHP4.3およびMySQL4.0、apachaを触り始めて1ヶ月ほどの初心者です。現在、良さそうな本を3冊ほど購入しましたが、題名にある、クライアント上のブラウザからMySQLへ画像を登録するシステムを想定しながら学んでいる状況です。 通常のテキストなどは登録・検索は出来るようになったのですが、本を見ても1冊は、PEARによるスクリプト(PEARの基礎は触れてない。選んだ本が間違えだったのですが…)。他の本ではディレクトリに保存のサンプルしかありませんでした。 こちらの「教えて!goo」や、他のサイトでも似たような質問がありますが、初心者の私には的を得ることが難しく、実際に動かしながら理解を深められればと、諸先輩方々のアドバイスを頂戴したく投函させて頂きました。 サンプルコードも含め、良いサイトなどご教授頂ければ幸いです。宜しくお願い致します。

    2006/05/22 18:40
  • MySQL 複数フィールドで不一致の抽出

    ジャンル  idジャンル名日数id ----+---------------+--------------+---------+------- 001ワンピース2011051810a001 001ワンピース201105186a002 002アクセサリー201105185b002 仮に、このようなデータがあったとします。 数時間後には、↓のように変更がかかって送られてきます。 001ワンピース201105197a001 001ワンピース201105186a002 002アクセサリー201105199b002 データ配布元の問題で、内容が更新された時点で、まだデータが確定していないものは、前日のデータが混ざって送られてきます。 この仕様を改良することは、残念ながら全く不可能です。 しかし、このデータをそのままテーブルに取り込んでしまうと、当然、2行目が重複してテーブルに収まってしまい、その後のデータ抽出に支障がでます。 例の場合でいえば、既に存在している2行目のデータを捨て、1行目と3行目のみを抽出する方法を探しています。 そこで、全部のデータを持つのをテーブル1とし、新しく着いたデータ(0519を含む方)をテーブル2に一時保管て、 SELECT テーブル2.ジャンルid, テーブル2.ジャンル名, テーブル2.日, テーブル2.数, テーブル2.ID FROM テーブル2 LEFT JOIN テーブル1 ON (テーブル2.ID = テーブル1.ID) AND (テーブル2.数 = テーブル1.数) AND (テーブル2.日 = テーブル1.日) AND (テーブル2.ジャンルid = テーブル1.ジャンルid) WHERE (((テーブル1.ジャンルid) Is Null)); と不一致SQLをAccessで行ったところ、1行目と3行目までが抽出できました。 ジャンルid、日、数、id が一致しないものを取りだすという不一致クエリの改造です。 ところが、同じSQLを、本番であるMySQLで行ったところ、データが抽出できす、反応が無くなってしまいます。 サンプルでは件数を絞りましたが、実際には1回分のデータが1万件近くあり、さらにメインテーブルは60万件ほどになるため、量が多すぎるためとも思いますが、4時間経ってもクエリの結果が返って来ないのは、MySQLとなにか合わないのではないかと思います。 MySQLで、上記と同じく、ジャンルid、日、数、id の全てが一致しないデータを抽出する事は可能でしょうか? ちなみに、MySQLテーブルでは、idの前にインクリメントのフィールドを置き、インデックスもインクリメントのフィールドで作成してあります。 よろしくお願いします。

    2011/05/20 13:06
  • テーブルの一部の内容をまとめて、別テーブル上に更新...

    テーブル(tA)のカラム(cA cB)を入れ替えたいと思っています。 (全カラムではなく、一部分だけの入れ替えです。) そこで、一時テーブルを作成し、  元テーブル→一時テーブル(入れ替え部分だけ)→元テーブル で対象となるカラムを入れ替えようと思いました。 一時テーブルに、カラムを入れ込むまでは出来たのですが、一時テーブルから、元のテーブルに入れ込むSQLがどうしてもわからず、教えていただきたく書き込みました。 行ったSQLとしては、 1)INSERT INTO TEMP(Id,Date,cA,cB) SELECT Id,Date,cA,cB FROM tA WHERE Id=XXXX; 2)UPDATE tA SET cA=(SELECT cA FROM TEMP WHERE Id=XXXX AND tA.Date = TEMP.Date ) WHERE Id=XXXX; といった形で試してみました。 ご教授、宜しくお願いします。

    2009/02/24 21:53
  • insertでのエラーについて

    お世話になります。 アップロードしたバイナリデータを変数に入れて、それをinsertしているのですが、DBに入りません。 テーブルでは、data mediumblob not nullと設定しています。Perlスクリプト内で、次のように書いています。 $sql="insert into data_tbl(data)"; $sql.="values('" . $datafile . "')"; 上記の$datafileにバイナリデータが入っています。 このようにして実行しているのですが、You have an error in your SQL syntax. とエラーになりDBに格納できません。ご教授よろしくお願いします。

    2005/01/07 03:22
  • データベースについての質問です。

    いつも大変お世話になっております、ありがとうございます。 データベースについての質問です。 大変初歩的な質問ですが何卒よろしくお願い致します。 不動産物件の絞り込み検索システムを作成したいのですが、テーブルの作成方法がわかりません。 不動産の条件検索フォーム 物件種別  チェックボックス  3種類 価格帯   プルダウン 所在地   チェックボックス 最寄り駅  テキスト 間取り   チェックボックス    4種類 こだわり条件  チェックボックス  16種類 とする場合、データベース内でいくつテーブルを作成すればしっくりくるのでしょうか? どうかよろしくお願い致します。

    2014/07/12 18:00
  • PHPでのMySQL接続エラーについて

    PHPを使用してMySQLサーバに接続しようと思うのですが、どうしても "Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Server\Apache2.2\htdocs\htdocs\connect.php on line 2" と表示されて接続できません。いろいろ試してみたので、情報を列挙いたします。 動作環境 OS:WindowsXP Pro Apache2.2.8 PHP5.2.6 MySQL5.0 1.コマンドプロンプトからはMySQLに正常に入ることが可能です。 2.上記のエラーが出るPHPプログラムは以下の通りです。 "<?php %conn = mysql_connect("localhost", "root", "password"); ?> 3.phpMyAdminを使って接続しようとしても以下のエラーが出ます。 #2003 - サーバが応答しません" 4.セキュリティソフトを終了させて接続しても同様の症状でした。 5.phpinfo()関数は正常に動作し、mysqlやmysqliの情報も表示されます。 以上の内容ですが、よろしくお願いいたします。

    2008/05/24 14:54
  • JDBCドライバについて

    JavaからアクセスしたいのでJDBCドライバをインストール、設定しようとしたのですが、Tomcatに組み込むやり方がわかりません。このサイトを参考にしてやったのですが・・・ << db105.java >> データベース(0):JDBCドライバ JavaのプログラムからMySQLのデータベースへ接続するにはJDBCドライバが必要である。 ●JDBCドライバのダウンロードとインストール (1)Webブラウザで、http://www.mysql.com/downloads/に接続する。 ダウンロードするバージョン(MySQL Connector/J 3.0)をクリックする。 (2)http://dev.mysql.com/downloads/connector/j/3.0.htmlに切り替わる。Downloadをクリックする。 (3)ダウンロードが始まるので、保存先をデスクトップにする。ファイル(mysql-connector-java-3.0.15-ga.zip)がデスクトップに保存される。 (4)ZIP形式のファイル(mysql-connector-java-3.0.15-ga.zip)を解凍する。デスクトップ上のディレクトリ(mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga)内のファイル(mysql-connector-java-3.0.15-ga-bin.jar)にJDBCドライバが存在する。 (5)JDBCドライバを環境変数CLASSPATHに追加する。 SET CLASSPATH=%CLASSPATH%;c:\mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga-bin.jar;. ただし、JDBCドライバは、 c:\mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga-bin.jarに存在する。 ●Tomcatに組み込む。 ファイル(mysql-connector-java-3.0.15-ga-bin.jar)を %CATALINA%\shared\libの下にコピーする。その後、再起動する。 2番目の黒丸の%CATALINA%\shared\libが全くみつからないです。教えてください~;;

    2005/04/26 10:23
  • MySQLの質問です。2

    お世話になります。 以前質問させていただいたのですがごちゃごちゃになってしまったので項目など見直してもっと単純な作りにしたいと思います。 MySQLを使ったWEBアプリを作っているのですが、特にこだわりのcheckboxと地域のcheckboxで分けてフォームからPHPのプログラムで受けて展開させる方法がわかりません。 どなたかご教授いただけたらと思っております。 テーブルに関しては賛否両論ですが、まずは3つでやってみたいと思います。 1つのほうが簡単そうなのですが、せっかく作ったので。 SQL文の間違いなのはわかっているのですがどうしてもわかりません。 何卒よろしくお願い致します。 下記のようなフォームにしたいと思っております。 <h1>マンション物件の条件検索</h1> <form name="search_form" action="mansion.php" method="post" > <input type="hidden" name="cmd" value="search" /> <table> <tr> <th>価格帯</th> <td> <select name="price_min"> <option value="1" selected="selected">下限なし</option> <option value="10000000">1000万</option> <option value="15000000">1500万</option> 略 </select> ~ <select name="price_max"> <option value="999999999999" selected="selected">上限なし</option> <option value="10000000">1000万</option> 略 </select> </td> </tr> <tr> <th>愛知県 - 名古屋市</th> <td> <td> <input type="checkbox" name="chiiki_id[]" value="1" <?php if( $_REQUEST["chiiki_id"] == "1" ){ print( 'checked' ); } ?>/> 中村区 <input type="checkbox" name="chiiki_id[]" value="2" <?php if( $_REQUEST["chiiki_id"] == "2" ){ print( 'checked' ); } ?>/> 西区 略 </tr> <tr> <th>愛知県 - その他の地域</th> <td> <input type="checkbox" name="chiiki_id[]" value="1" <?php if( $_REQUEST["chiiki_id"] == "1" ){ print( 'checked' ); } ?>/> 尾張 <input type="checkbox" name="chiiki_id[]" value="2" <?php if( $_REQUEST["chiiki_id"] == "2" ){ print( 'checked' ); } ?>/> 三河 </td> </tr> <th>こだわり条件</th> <td> <input type="checkbox" name="kid[]" value="1" <?php if( $_REQUEST["kid"] == "1" ){ print( 'checked' ); } ?>/> 新築 <input type="checkbox" name="kid[]" value="2" <?php if( $_REQUEST["kid"] == "2" ){ print( 'checked' ); } ?>/> 南向き <input type="checkbox" name="kid[]" value="3" <?php if( $_REQUEST["kid"] == "3" ){ print( 'checked' ); } ?>/> セキュリティ充実 </td> </tr> </table> <input type="submit" value="検索" class="Btn-gray button"> </form> <p>&nbsp;</p> <?php //初期設定 //username,$password,$dbnameは適当に if( $_REQUEST["cmd"] == "search" ){ $dsn = 'mysql:host=localhost;dbname=fudousan'; $username = 'xxxxx'; $password = 'xxxxxxx'; $data=array(); $sql = "SELECT t1.* FROM bukken as t1 "; $flag=true; //kid絞り込み if(isset($_REQUEST["kid"]) and is_array($_REQUEST["kid"])){ $sql.="INNER JOIN (SELECT DISTINCT fid FROM fdou_kodawari WHERE kid in ("; $sql.=implode(",",array_fill(0,count($_REQUEST["kid"]), '?')); $sql.=")) as t2 ON t1.id=t2.fid "; $data=array_merge($data,$_REQUEST["kid"]); $flag=false; } //WHERE句作成 $sql.= "WHERE 1 "; //名古屋の地域checkbox $sql = "SELECT t1.* FROM bukken as t1 "; if(isset($_REQUEST["chiiki_id"]) and is_array($_REQUEST["chiiki_id"])){ $sql.="INNER JOIN (SELECT DISTINCT chiid FROM chiiki WHERE chiiki_id in ("; $sql.=implode(",",array_fill(0,count($_REQUEST["chiiki_id"]), '?')); $sql.=")) as t2 ON t1.id=t2.chiid "; $data=array_merge($data,$_REQUEST["chiiki_id"]); $flag=false; } //WHERE句作成 $sql.= "WHERE 1 "; //価格絞り込み if(isset($_REQUEST["price_min"]) and $_REQUEST["price_min"]!==""){ $price_min=str_replace(",","",$_REQUEST["price_min"]); }else{ $price_min=0; } if(isset($_REQUEST["price_max"]) and $_REQUEST["price_max"]!==""){ $price_max=str_replace(",","",$_REQUEST["price_max"]); }else{ $price_max=100000000; } if(isset($_REQUEST["price_min"]) or isset($_REQUEST["price_max"])){ $sql.="AND price_min BETWEEN ? AND ? "; array_push($data,$price_min,$price_max); $flag=false; } //実行 $pdo = new PDO($dsn,$username,$password); $stmt = $pdo->prepare($sql); $stmt->execute($data); $rows=array( 以下省略 使っている3つのテーブルです。 bukken id、 bukken_name、 address 、price_min、 price_max、 station 1 名駅MID 愛知県名古屋市中村区 40770000、 55100000 名古屋駅 2 プレサン浄心 愛知県名古屋市西区 30800000、 40001000 浄心駅 3 アネシア八事 愛知県名古屋市昭和区50000000、 62510000 八事日赤 4 アメニ港明 愛知県名古屋市港区 25000000、 35000000 港区役所駅 5 ユーハウ上飯田 愛知県名古屋市北区 32000000、 43330000 上飯田駅 6 ローレル葵 愛知県名古屋市東区 30000000、 46000000 高岳駅 7 ライオンズ上小田井 愛知県名古屋市西区 35000000、 55000000 上小田井駅 8 ポレスターセントラル名西 愛知県名古屋市西区 28000000、 38000000 浄心駅 chiikiテーブル chiid chiiki_id 1 1 2 2 3 3 4 4 5 15 6 6 7 2 fudou_kodawariテーブル fid kid 1 1 1 2 1 3

    2014/07/16 23:38
  • グループ化のSQL文について

    このジャンルでお願いします。 tbl id  starttime endtime val 1     0      40  3 2     160    170  1 3     160    190  2 starttimeとendtimeは「分(160なら60×2+40で2時40分になります)」で保存してます。 このようなテーブルで、時間毎にvalの平均を出したいのですが、 id  hour avg(val) 1    0   3  ← 0~1時まで 2    1   0  ← 1~2時まで 3    2   1.5  ← 2~3時まで 4    3   2  ← 3~4時まで ・ ・ 24   23   0  ← 23~24時まで といった感じで24区間に分けてその区間毎のvalの平均を出したいです。 これはどのようなSQL文になるのでしょうか? またこのようなSQL文で1度に取得するやり方と、 いったん全行取得してPHPなどでループして平均を計算するやり方とでは レコード数が増えてきた場合にどちらが速いとかはあるのでしょうか?

    2014/01/11 12:01
  • 一番新しい日付を表示したいのですが。。。

    id name day    st sh tday    tt th go 2 タモリ 2012/4/18 9 00 1 つるべ 2012/4/16 9 00 2012/4/17 9 09 12  2 タモリ 2012/4/17 9 00  1 つるべ 2012/4/17 9 30 上記のようなテーブルがあり、それぞれの最新のdayだけ表示したいです。 理想はこうです。  1 つるべ 2012/4/17 9 30 2 タモリ 2012/4/18 9 00 現在SELECT a.id,a.name,a.ji,a.pass,b.id,b.name,b.day,b.st,b.sh,b.tday,b.tt,b.th,b.go FROM time AS a, timem AS b WHERE a.id=b.id ORDER BY b.day DESC と命令したら 四つ全部でてしまい、group by a.idを足しても上手くいかないです。 それぞれの新しい日付のものを一件だす方法を教えてください。

    • ベストアンサー
    • すぐに回答を!
    • drmada
    • MySQL
    • 回答9
    2012/04/17 10:45
  • rootのパスワードが通らない

    windowsXPにてphpmyadminのインストール及び初期設定を行っています。 http://andante0727.blog81.fc2.com/blog-entry-104.htmlのサイトを参考に作業しています。 初期設定のコマンドプロンプトを立ち上げ、 cdコマンドでphpMyAdminをインストールしたフォルダの中の「scripts」というフォルダに移動して、 mysql -u root -p < create_tables.sqlをコマンド入力し、 rootのパスワードの入力を求められるのですが、MySQLでインストール時に設定したrootのパスワードを入力するそうですが通りません。 なぜでしょうか。サイトの内容が間違っているのでしょうか?それとも私の方でどこかが間違っているのでしょうか?

    2009/08/23 21:59
  • 重複エラー時のシーケンスIDの取得方法について

    いつも参考にさせて頂いております。 重複エラー時のシーケンスIDの取得方法についてご質問させて頂きます。 ユニークキー設定してあるテーブルにデータを挿入し、入っている行のAUTO_INCREMENTの値を取得したい場合、 挿入できるものに関しては挿入後LAST_INSERT_ID()で取得できますが、 重複エラーにより挿入されない場合の取得方法で悩んでおります。 挿入するデータには限りがあるので、挿入されたデータ量が増えるほど(時間が経てば経つほど)、 エラーが返る可能性が高くなり、その分の遅延がもったいないなぁと思っておりますが、 何かよい方法はありませんでしょうか? よろしくお願い致します。

    2007/08/30 19:27
  • Webデータベース MySQL

    Web上から、Excelなどで作ったファイルをMySQLに格納できるようにしたいと思っています。そして、Web上で検索して、取り出したファイルをWeb上に表示させたいのです。 そこで、Web上からMySQLにアクセスするために、サーブレット、PHP、Perlのうちどれを使ったらいいでしょうか。 また、このようなときExcelのファイルそれ自体(中身)は、MySQLの中に入るのでしょうか。それとも、 ファイル名なんかで入れるようにして、中身は別のところにあるんでしょうか。 ご教授、アドバイスなどいただけると助かります。 お願いします。

    2004/11/06 04:25
  • PHP + MySQLを使用して詳細画面を開く

    いま下記のソースで一覧画面が表示されます! 氏名をクリックしたら別ウインドウで詳細画面を表示させたいのですがやり方がわかりません 参考までに教えてください <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","password","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html>

    • ベストアンサー
    • すぐに回答を!
    • noname#197690
    • MySQL
    • 回答8
    2014/04/14 11:57
  • 特定の文字列が含まれているか調べる

    すいません、先ほど「条件が複雑なSQL文」の質問を立てさせてもらったのですが、 あとから自分で考えてもおかしな(どうやっていいのか分からないというか・・・) 部分がありましたので、今回はそれよりは簡潔(?^^;))な内容の質問なのですが、 例えば、「abcd」という文字列が、あるテーブルのnameに含まれてるかを調べたいとします。 そしてマッチした割合やあと何文字でマッチするか?のデータも欲しいのです。 この場合のSQL文はどのように記述すれば良いのでしょうか? 【調べる文字列】 abcd [tbl] id  name 1   ab 2   abcd 3   abcdefgh 4   xyz 【得たい結果(マッチした割合%の降順)】 [tblのid] [nameにマッチした割合%(パーセント)] [nameにあと何文字でマッチするか?]   2          100                        0   3           50                        4

    2011/10/27 01:00
  • mysql5でGROUP BYごとにLIMIT??

    2011,600 2011,500 2011,450 2011,750 2010,450 2010,540 2010,350 2010,800 2010,700 例えばこのようなデータを年ごとにベスト3までとって次のようにするSQLはありますか 2011,750 2011,600 2011,500 2010,800 2010,700 2010,540

    2011/03/15 06:29
  • カラムで括ったMAX値のselect

    Mysql5.0.18です よろしくお願いします テーブル:test_tblです key:キー name:生徒氏名 test_name:テストの名前 value:点数 下記のようなデータを用意しました key  name  test_name  value 1    A    test1   30 2    A    test2   50 3    B    test1   40 4    B    test2   80 5    C    test1   90 6    C    test2   90 下記のように 生徒(name)毎の最高点のレコードを1件づつ抽出したいのですが 可能でしょうか? key  name  test_name  value 2    A    test2   50 4    B    test2   80 5    C    test1   90 私は下記のsqlでチャレンジしてダメでしたTT Select test_tbl.key, test_tbl.name, test_tbl.test_name, Max(test_tbl.value) as value From test_tbl Group By test_tbl.name Order By test_tbl.name Asc, test_tbl.test_name Asc 結果は・・・ key  name  test_name  value 1    A    test1   50 3    B    test1   80 5    C    test1   90 です・・・ Max関数を使えば、生徒のMAX点が出力されるのは 分かるのですが、そのMAX点のレコードを抽出するには・・・ という所で行き詰っています よろしくお願いします

    2006/03/22 22:37
  • sql文の書き方のついて

    初心者です。よろしくお願致します。 特定の文字列の数を数え多い順に並び替える事は可能でしょうか? 具体的な例: フィールド名(xxx)に Aが10個 Bが50個 Cが70個 Dが90個 フィールド名(yyy)に Aに1 Bに2 Cに3 Dに4 フィールド名(xxx)に入っている文字列を数え 上記の場合だと (yyy)の並び順は1 2 3 4 としたいのですが、一向にわかりません。 可能であれば、是非ご教授お願いします。

    2006/03/04 10:28