[マニュアル]の検索結果


MySQLでは、INSERT ... SELECTを使用することで1つまたは複数のテーブルからレコードをテーブルに追加できます。
また、SELECTでLIMIT句とORDER BYを使用して上位n件のレコードのみテーブルに追加することもできます。


構文:
INSERT
INTO テーブル
[(カラム, ...)]
SELECT ...

追加前にORDER BYで指定した方法で並べ替えられ、LIMIT句で指定した行数のレコードが追加されます。

例えば、データベースtestのsalesテーブルに10件のレコードが格納されていて、priceの値が低い順に3件のレコードをjunkテーブルに追加する場合は以下のSQL文になります。

INSERT INTO test.junk (product,price) SELECT product,price FROM test.sales ORDER BY price Limit 3;

実際に実行してみると以下のような結果になります。

salesテーブルのデータ:

mysql> select * from test.sales order by price;
+----------+-------------+---------+----------+
| ordernum | product     | price   | quantity |
+----------+-------------+---------+----------+
|        3 | WII         |    4500 | 2        |
|        5 | PS3         |   10000 | 4        |
|        8 | G-SHOCK     |   12000 | 9        |
|        9 | EXILIM      |   14000 | 7        |
|        1 | PS4         |   20000 | 1        |
|        6 | COOLPIX     |   23000 | 1        |
|        7 | amazon fire |   25000 | 6        |
|       10 | GoPro       |   27000 | 3        |
|        4 | iPhone SE   |   50000 | 4        |
|        2 | iPhone 6    | 1000000 | 2        |
+----------+-------------+---------+----------+
10 rows in set (0.00 sec)

実行前のjunkテーブルのデータ:

mysql> select * from test.junk;
Empty set (0.00 sec)

INSERT ... SELECT文を実行:

mysql> INSERT INTO test.junk (product,price) SELECT product,price FROM test.sales ORDER BY price Limit 3;
Query OK, 3 rows affected (0.05 sec)
Records: 3 Duplicates: 0 Warnings: 0

実行後のjunkテーブルのデータ:

mysql> select * from test.junk;
+---------+-------+
| product | price |
+---------+-------+
| WII     |  4500 |
| PS3     | 10000 |
| G-SHOCK | 12000 |
+---------+-------+
3 rows in set (0.00 sec)

参考:
MySQL 5.6 リファレンスマニュアル INSERT ... SELECT 構文


[2591] Posted by kagahiro at 2016/09/30 15:29:37
1 point | Link (3) | Trackback (1) | Comment (0)

MySQLでは、UPDATEでLIMIT句とORDER BYを使用して上位n件のレコードを更新することができます。

更新前にORDER BYで指定した方法で並べ替えられ(ASCは昇順、DESCは降順、省略した場合は昇順)、LIMIT句で指定した行数のレコードが更新されます。

構文:
UPDATE テーブル
SET カラム1={expr1|DEFAULT} [, カラム2={expr2|DEFAULT}] ...
[WHERE 条件]
ORDER BY カラム [ASC | DESC]
LIMIT 行数;


例えば、データベースtestのsalesテーブルに10件のレコードが格納されていて、priceの値が低い順に3件のレコードのquantityに1を加算する場合は以下のSQL文になります。

UPDATE test.sales SET quantity = quantity + 1 ORDER BY price LIMIT 3;

実際に実行してみると以下のような結果になります。

更新前のデータ:

mysql> select * from test.sales order by price;
+----------+-------------+---------+----------+
| ordernum | product     | price   | quantity |
+----------+-------------+---------+----------+
|        3 | WII         |    4500 | 1        |
|        5 | PS3         |   10000 | 3        |
|        8 | G-SHOCK     |   12000 | 8        |
|        9 | EXILIM      |   14000 | 7        |
|        1 | PS4         |   20000 | 1        |
|        6 | COOLPIX     |   23000 | 1        |
|        7 | amazon fire |   25000 | 6        |
|       10 | GoPro       |   27000 | 3        |
|        4 | iPhone SE   |   50000 | 4        |
|        2 | iPhone 6    | 1000000 | 2        |
+----------+-------------+---------+----------+
10 rows in set (0.00 sec)

strong>UPDATE文を実行:

mysql> UPDATE test.sales SET quantity = quantity + 1 ORDER BY price LIMIT 3;
Query OK, 3 rows affected (0.03 sec)
Rows matched: 3 Changed: 3 Warnings: 0

更新後のデータ:

mysql> select * from test.sales order by price;
+----------+-------------+---------+----------+
| ordernum | product     | price   | quantity |
+----------+-------------+---------+----------+
|        3 | WII         |    4500 | 2        |
|        5 | PS3         |   10000 | 4        |
|        8 | G-SHOCK     |   12000 | 9        |
|        9 | EXILIM      |   14000 | 7        |
|        1 | PS4         |   20000 | 1        |
|        6 | COOLPIX     |   23000 | 1        |
|        7 | amazon fire |   25000 | 6        |
|       10 | GoPro       |   27000 | 3        |
|        4 | iPhone SE   |   50000 | 4        |
|        2 | iPhone 6    | 1000000 | 2        |
+----------+-------------+---------+----------+
10 rows in set (0.00 sec)

上位3件のレコードだけquantityが1加算されていることがわかると思います。

参考:
MySQLリファレンスマニュアル 13.2.11 UPDATE 構文

[2590] Posted by kagahiro at 2016/09/30 11:43:12
1 point | Link (3) | Trackback (1) | Comment (0)

アプリケーションのロジックとコンテンツを分離して管理する事を容易にするPHPのためのテンプレートエンジン「Smarty」の日本語公式マニュアル。

Smarty3 マニュアル | Smarty

[2288] Posted by kagahiro at 2013/03/05 14:09:02
0 point | Link (1) | Trackback (0) | Comment (0)

LINE(ライン)は、ユーザー同士が国内・海外、通信キャリアを問わず、無料(パケット通信料は別途必要)で音声通話メールの送受信がを行えるアプリ。iPhone版、Android版、フィーチャーフォン版、PC版、タブレット...
[2215] Posted by kagahiro at 2012/06/12 15:07:59
1 point | Link (16) | Trackback (0) | Comment (1)

Template Toolkit (TT)は、HTML::Templateなど他のテンプレートと比較してより汎用性の高い処理をすることが可能なテンプレートエンジン。出力をサブルーチンに渡したりファイルに出力することもできる。また、テンプ...
[1969] Posted by kagahiro at 2010/07/20 17:32:51
0 point | Link (2) | Trackback (0) | Comment (0)

JM Projectは、日本語オンラインマニュアルパッケージの作成、配布を行なっているプロジェクト。JM Projectで翻訳されたマニュアルの閲覧や検索もできる。JM インデックスJM Projectで翻訳されたマニュアルの一覧。翻...
[1967] Posted by kagahiro at 2010/07/19 13:40:25
0 point | Link (5) | Trackback (0) | Comment (0)

Perl.comは、Perlのホームページ。ソースコード、各種OS別のPerlの実装、マニュアル、モジュール、バグレポート、PerlのFAQ集などがある。Perl.com Home PagePerl-FAQ Part0J(日本語訳)
[1965] Posted by kagahiro at 2010/07/18 11:58:15
0 point | Link (1) | Trackback (0) | Comment (0)

サイトのトップページだけでなく、それ以外のPC向けのコンテンツに携帯からアクセスされた場合も、携帯向けのコンテンツに転送するようにする必要があるのですが、いまいち思い通りになっていません。コンテンツをCG...
[1871] Posted by kagahiro at 2010/05/13 20:56:33
0 point | Link (1) | Trackback (0) | Comment (0)

基本操作から、テーマ、プラグインなど動画付きでわかりやすく説明したWordPressマニュアル。初心者向けの「簡単クイック 基本マニュアル」と、プラグインやテーマを使ってオリジナルサイトを作成したいユーザー向...
[1773] Posted by kagahiro at 2010/03/07 16:01:47
0 point | Link (0) | Trackback (0) | Comment (0)

paperboy&co.のレンタルサーバー「ロリポップ!」「チカッパ!」に人気ブログソフト「WordPress(ワードプレス)」の簡単インストール機能が追加されたとのこと。ロリポップ!レンタルサーバーWordPress簡単イン...
[1752] Posted by kagahiro at 2010/02/24 13:10:17
0 point | Link (5) | Trackback (0) | Comment (0)

  1 2 3 4 5  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (8 PV)
  2. グーグルニュース(Google News)日本版が表示できるURL (5 PV)
  3. 「CASH(キャッシュ)」アイテム(ブランド品やガジェット)の写真を撮れば審査なしで現金化できるサービス (4 PV)
  4. コインチェック、盗まれたNEMを全て日本円で補償すると発表。ただし、補償開始の時期や手続きは未定 (4 PV)
  5. 将棋倶楽部24がフィッシャールール(早指し3)導入 (4 PV)
  6. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (3 PV)
  7. Airbnb(エアビーアンドビー)、「民泊新法」施行後も違法物件を掲載 (3 PV)
  8. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (3 PV)
  9. [FX]ドル円(#USDJPY)最新チャート #市況実況 (2 PV)
  10. [サッカー]FIFA ワールドカップ(W杯) (2 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2605 PV)
  2. Google News (グーグルニュース)日本版 (804 PV)
  3. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (410 PV)
  4. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (403 PV)
  5. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (403 PV)
  6. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (228 PV)
  7. グーグルニュース(Google News)日本版が表示できるURL (181 PV)
  8. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (164 PV)
  9. ウェブページを1回だけリロード(再表示)する方法 (162 PV)
  10. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (155 PV)

アクセス統計

ディレクトリ

関連サイト