- ベストアンサー
WHEREの指定方法
auto_incrementで1から各レコードに番号をつけています。 たとえばSELECT * FROMで1から15番までを1分のSQLで指定したいときはどのようにすればいいのでしょうか? よろしくお願いします。
- itmedia_search
- お礼率61% (65/105)
- MySQL
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 「1分のSQL」という意味がわからなかったのですが、 1から15番までを取得するには SELECT * FROM TABLE WHERE AAA BETWEEN 1 AND 15; または SELECT * FROM TABLE WHERE AAA > 0 AND AAA < 16; となります。 これでよろしかったでしょうか?
関連するQ&A
- 以下のSQLにWHEREで指定することは可能でしょうか?
select * from oshiete order by goo limit 0, 3 ; というSQL文があります。これにWHEREで指定したいのですが、なかなかできません。どのようにしたらよいのでしょうか?
- ベストアンサー
- MySQL
- テーブルの最後(最新)のレコードを抽出したい
宜しくお願いします。 PHP MYSQL の組み合わせで使っています 以下のようにして、最後のレコードを取り出したいのですが まったく違う事をしているのかもしれません。 $sql =" select * from テーブル where フィールド='max' " ; フィールドはauto_incrementで番号を振っています。 これで最大のつもりなのですが・・・。 他にも、レコードを入れた時間も記録したフィールドがあるのですが どうしてよいか?判りません。 テーブルの最新のレコードを出したいのです。 **その中の一つのフィールドを取り出すのですが、 それはうまくいっているみたいです (max の所に数字を入れると表示します) お手数かけますが、どなたかご教授お願いいたします。
- ベストアンサー
- MySQL
- WHERE句内でプライマリキーの検査ができない
こんにちは。mySQL初心者です。 例えば、「sample」というDBに以下の3つのフィールドのあるテーブル「text」があるとします。 (実際には、DATETIME型のフィールドも含めて20列あります) key => 整数型で、プライマリキー&オートインクリメントを設定 status => テキスト型(UTF-8) note => テキスト型(UTF-8) ここで、「SELECT * FROM text WHERE key=1」というSQLで1つ目のレコードを取得しようとすると、「#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 'key=1 LIMIT 0, 30' at line 1」というエラーが出てしまいます。 「SELECT * FROM text WHERE status='sample_01'」や「SELECT * FROM text WHERE note='test entry'」というSQL文ならちゃんとデータを取得できるのですが、「WHERE key=1」のようにプライマリキーで検索しようとするとエラーになるのは何故でしょうか。 どなたか見当が付くかたがいらっしゃいましたら、教えていただけないでしょうか。 よろしくお願いします。 <環境> XAMPP Ver.1.7.4で、mySQLは Ver. 5.5.8です。
- ベストアンサー
- MySQL
- php5+mysqlのSELECT文でwhere句を指定すると正しく動
php5+mysqlのSELECT文でwhere句を指定すると正しく動きません。 レコード数を取得します。 ここで、field10(category)=text型の値に基づきレコード数を取得したいのですが、 $sql="select * from A where B='C'"; とするとレコード出力(index.php)で0を出力。 where句を指定せずに $sql="select * from A"; とするとレコード出力(index.php)で97を出力。 文字コード関係のQ&Aサイトを見ましたが、phpファイルの冒頭部分に $con = mysql_connect($DBSERVER, $DBUSER, $DBPASS); mysql_query("SET NAMES 'sjis'"); $selectdb = mysql_select_db($DBNAME, $con); を指定しています。 テーブルAに含まれるデータは、csv(,区切り)で、load data infile・・・しました。 ※Records:97 Deleted:0 Skipped:0 Warnings:0 他に考えられる原因・対処方法はありますでしょうか? よろしくお願いします。
- 締切済み
- PHP
- where句への指定
where句に、次のような条件を指定したいのですが、どのようにすればよいでしょうか?教えてください。 SQL文を実行した日の03:00:00より新しいレコード SQL文は周期的に実行するので、実行した日は変わります。
- ベストアンサー
- Oracle
- DBから抜き取ったデータを10レコードずつ表示する方法
データベース(MySQL)にデータを置きPHPでデータを表示しています。 しかしデータが大量になってしまったので10レコードずつ表示したいと思っています。各レコードにはauto_incrementなどで番号などの目印はつけていません。 この場合、引数で?page=1とした場合、はじめのレコードから10番目のレコードを表示し、page=2となれば11番目から21番目のレコード....といった感じにするにはどうしたらよいのでしょうか?可能なのでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
- WHEREでヌルをスルーしたい
いつもお世話になっております。 SQL文のワイルドカードについての質問なのですが、 SELECT 項目1 FROM 表 WHERE 項目1 LIKE '%' というSQLがあったとして、私は項目1のレコードがすべて返されるのかと思いました。 しかしこれだと項目1フィールドにNULLが入っている(何もデータが入っていない)場合、それは除かれてしまうようです。 NULLのレコードも含めてクエリを返してくれるような条件はあるのでしょうか?
- ベストアンサー
- SQL Server
- DBでAUTO_INCREMENTのフィールドの最新の数値を知るには
PHP+MySQLで開発しています。 自らがDBテーブルに書き込んだレコードの、AUTO_INCREMENT指定してある項目に設定された数値を取得したいのですが、どのようにすればいいのでしょうか。 DB指定 CREATE TABLE test( no INT NOT NULL AUTO_INCREMENT, comment TEXT, PRIMARY KEY(no) ); PHP書き込み $sql = "INSERT INTO test(comment)VALUES('いろは')"; $results = mysql_query($sql,$dbid); このとき、テーブルtestのフィールドnoに設定された数値を知るために、 今はわざわざSQL select MAX(no) from test を発行しています。 これですと、確実性に欠けますし、冗長な気がします。 他に何か効率的な方法があるような気がしますので、 質問いたしました。 よろしくお願い申し上げます。
- ベストアンサー
- PHP
- <<前 次>> というリンクを表示させる方法
リスト表をPHPで作成しています。すべてのデータはMySQLに置き毎回呼び出す形になっています。又、auto_incrementで各レコードに1からの番号がうってあります。 しかし10レコード毎に表示させることができません。できればauto_incrementでうってある番号順に1~10のレコードを表示し、それ以上を見るために 次へ といったリンクを表示し11~20までのレコードを表示することはできるでしょうか?
- ベストアンサー
- PHP
- 1万件のレコードの追加方法、主キーは億単位で不規則
テスト用のテーブルを作りたいと思っています。しかし、主キーの部分が実際とはかけ離れた状態になってしまいます。 フィールド数が複数あり、同じ値でも構わないので1万件分のレコードを追加したいです。 やり方としては、 <1>主キーのフィールド以外の全部のフィールドを作ってデータを入れます。 <2>そしてから、INSERT INTO `aaa` SELECT * FROM `aaa`を1万件超えるまで繰り返し実行。 <3>主キーのフィールドをauto_increment指定して追加します。 <4>1万を超えるフィールドを削除するためにDELETE FROM `aaa` WHERE id>10000を実行 ※実際には主キーにauto_incrementを入れません。 ※実際には主キーのデータは数千万~億単位(89234521や000455839)の数字(型はBIGINT)で、増加の仕方はまちまちです。 auto_incrementを使わず、数千万単位の数字で、増加の仕方もまちまちな主キーのデータを追加する方法はないでしょうか。
- ベストアンサー
- MySQL
お礼
回答ありがとうございました。求めていたのはまさにこれです。