[rank:a]の検索結果
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 構文
更新前に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 構文
これまでグーグル、ヤフーに比べて検索エンジンとしての評価はあまり高くなかったマイクロソフト製検索エンジン「ライブサーチ」ですが、初音ミク画像消失事件を契機に2ちゃんねらーの間で「ゲイツに聞け」と人気急上昇中です。
しかし、これまで検索エンジンとしてはあまり評価されていなかったためSEOが手薄なサイトも多いと思います。とにかく、サイトの各ページがインデックスされなければどうにもならないので、サイトマップを登録しておきたいところです。
グーグルにはGoogle ウェブマスターツール、Yahoo!にはYahoo! Site Explorerがあるのでユーザー登録を行なって、そこに自分のサイトのサイトマップを登録すればよいのですが、ライブサーチにはそのようなサービスはありません。どうすればサイトマップを登録できるのか謎でしたが、どうやら各ページのHTMLソースのメタタグに以下よう
な記述を追加すればよさそうです。
[サイトマップのパスが「sitemap.xml」の場合]
<link rel="alternate" type="application/rss+xml" title="Sitemap" href="sitemap.xml" />
しかし、これまで検索エンジンとしてはあまり評価されていなかったためSEOが手薄なサイトも多いと思います。とにかく、サイトの各ページがインデックスされなければどうにもならないので、サイトマップを登録しておきたいところです。
グーグルにはGoogle ウェブマスターツール、Yahoo!にはYahoo! Site Explorerがあるのでユーザー登録を行なって、そこに自分のサイトのサイトマップを登録すればよいのですが、ライブサーチにはそのようなサービスはありません。どうすればサイトマップを登録できるのか謎でしたが、どうやら各ページのHTMLソースのメタタグに以下よう
な記述を追加すればよさそうです。
[サイトマップのパスが「sitemap.xml」の場合]
<link rel="alternate" type="application/rss+xml" title="Sitemap" href="sitemap.xml" />
Google News (グーグルニュース)とはGoogle News (グーグルニュース)は、Google社が提供しているコンピュータによって生成されるニュースサイトで、世界中の50000以上のニュース提供元の見出しが集約され同じよう...
長時間使用しても手首や腕への負担が少なくて使いやすいおすすめの有線レーザーマウス「LOGICOOL レーザーマウス M500」マウスはパソコンを使用する際には常に操作するものなので、できるだけ手首や腕への負担が少な...
アクセスランキング
今日のアクセスランキング TOP 10
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (1 PV)
- [Twitter]日本のユーザーも「全ツイート履歴」が使用可能に (1 PV)
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1 PV)
- ライブサーチにサイトマップ(Sitemap)を登録する方法 (1 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (68 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (14 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (11 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (7 PV)
- SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (6 PV)
- StartPage(スタートページ) - 匿名検索エンジン (5 PV)
- FC2まとめ (5 PV)
- 人気ナンピンマーチンEA「NPNM_v3」向けサンプルセットファイル (5 PV)
- YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (5 PV)
- 日経平均株価(にっけいへいきんかぶか) (4 PV)
アクセス統計
ディレクトリ
関連サイト
