[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. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (223 PV)
  2. グーグルニュースがダウンしていて見れない (70 PV)
  3. Google News (グーグルニュース)日本版 (63 PV)
  4. Google(グーグル) 日本版 (26 PV)
  5. 「CASH(キャッシュ)」アイテム(ブランド品やガジェット)の写真を撮れば審査なしで現金化できるサービス (18 PV)
  6. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (16 PV)
  7. ウェブページを1回だけリロード(再表示)する方法 (14 PV)
  8. 質屋アプリ「CASH(キャッシュ)」がキャッシュ化殺到で開始から16時間34分で査定停止に追い込まれる #炎上 (12 PV)
  9. [将棋]竜王戦第三局は居飛車振り飛車の対抗型で丸山忠久九段が勝利 #竜王戦 (11 PV)
  10. フリーソフトウェア/オープンソースのタブー (8 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (5617 PV)
  2. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (1776 PV)
  3. 加計学園(かけがくえん)の獣医学部新設についての「総理の意向」文書は本物と週刊文春がスクープ予告 (449 PV)
  4. 米海軍の空母カールビンソンとロナルドレーガンが日本海から撤退 #北朝鮮問題 (259 PV)
  5. ウェブページを1回だけリロード(再表示)する方法 (236 PV)
  6. [C言語]UTF-8でエンコードされた文字列の部分文字列を取り出すコード (217 PV)
  7. [将棋]豊島将之八段が角換わり早繰り銀で藤井聡太四段に完勝するという波乱 (211 PV)
  8. Google News (グーグルニュース)日本版 (199 PV)
  9. Sony、ハイエンドEマウントミラーレスカメラ「α9」(model ILCE-9)を発表 (164 PV)
  10. [gcc]iconvで文字エンコードを変換するサンプルプログラム (145 PV)

アクセス統計

ディレクトリ

関連サイト