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

MYSQL:Tránh sản phẩm cacte của các bản ghi lặp lại khi tự ghép nối

select a_numbered.id, a_numbered.identifier, b_numbered.id from 
(
select a.*,
       case 
          when @identifier = a.identifier then @rownum := @rownum + 1
          else @rownum := 1
       end as rn,
       @identifier := a.identifier
  from a
  join (select @rownum := 0, @identifier := null) r
order by a.identifier

) a_numbered join (
select b.*,
       case 
          when @identifier = b.identifier then @rownum := @rownum + 1
          else @rownum := 1
       end as rn,
       @identifier := b.identifier
  from b
  join (select @rownum := 0, @identifier := null) r
order by b.identifier

) b_numbered 
on a_numbered.rn=b_numbered.rn and a_numbered.identifier=b_numbered.identifier



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. làm thế nào để sử dụng phpfastcache?

  2. codeigniter - cơ sở dữ liệu:cách cập nhật nhiều bảng với một truy vấn cập nhật duy nhất

  3. Khởi tạo cơ sở dữ liệu khởi động mùa xuân MySQLException cho trình kích hoạt

  4. # 1025 - Lỗi khi đổi tên (errno:150) trong mysql

  5. Hiệu suất của các thủ tục được lưu trữ đệ quy trong MYSQL để nhận dữ liệu phân cấp