Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sử dụng CTE để CẬP NHẬT hoặc XÓA trong MySQL

Vì CTE không thể cập nhật, bạn cần tham khảo bảng gốc để xóa các hàng. Tôi nghĩ bạn đang tìm kiếm một cái gì đó như thế này:

WITH ToDelete AS 
(
   SELECT ID,
          ROW_NUMBER() OVER (PARTITION BY lastName, firstName ORDER BY ID) AS rn
   FROM mytable
)   
DELETE FROM mytable USING mytable JOIN ToDelete ON mytable.ID = ToDelete.ID
WHERE ToDelete.rn > 1; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển hướng đến trang chủ sau khi đăng nhập php

  2. Sql để có được tất cả bạn bè của những người bạn không phải là bạn của tôi

  3. nhóm mysql bằng cách trả về giá trị tối thiểu và nhận dữ liệu hàng tương ứng

  4. MySQL cho biết:Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu:NO)

  5. So sánh ngày MySQL