[date:20160512]の検索結果


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

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

構文:
DELETE FROM テーブル [WHERE 条件]
ORDER BY カラム [ASC | DESC]
LIMIT 行数;


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

DELETE FROM test.sales 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.01 sec)

DELETE文を実行:

mysql> DELETE FROM test.sales ORDER BY price LIMIT 3;
Query OK, 3 rows affected (0.08 sec)

削除後のデータ:

mysql> select * from test.sales order by price;
+----------+-------------+---------+----------+
| ordernum | product     | price   | quantity |
+----------+-------------+---------+----------+
|        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        |
+----------+-------------+---------+----------+
7 rows in set (0.00 sec)

[2552] Posted by kagahiro at 2016/05/12 11:11:37
1 point | Link (4) | Trackback (1) | Comment (0)

  1  


アクセスランキング

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

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

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

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

アクセス統計

ディレクトリ

関連サイト