Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्रम से और सीमा का उपयोग करके एकाधिक तालिकाओं से हटाएं

my_rel_table से उच्चतम आईडी प्राप्त करने के लिए उप-चयन के विरुद्ध जॉइन का उपयोग करके इसे करना

DELETE my_rel_table, my_photo_table
FROM my_rel_table 
INNER JOIN 
(
    SELECT MAX(id) AS MaxId
    FROM my_rel_table 
    WHERE relid = 1 
    AND type = 1
) Sub1
ON my_rel_table.id = Sub1.MaxId
LEFT OUTER JOIN my_photo_table ON my_photo_table.typeid = my_rel_table.typeid
WHERE my_rel_table.relid = 1 
AND my_rel_table.type = 1

सीधे परीक्षण नहीं किया गया क्योंकि मेरे पास कोई परीक्षण डेटा नहीं है!

संपादित करें - शीर्ष 5 में शामिल होने के कुछ प्रयास, लेकिन फिर से परीक्षण नहीं किया गया

DELETE my_rel_table, my_photo_table
FROM my_rel_table 
INNER JOIN 
(
    SELECT id
    FROM my_rel_table 
    WHERE relid = 1 
    AND type = 1
    ORDER BY id DESC
    LIMIT 5
) Sub1
ON my_rel_table.id = Sub1.id
LEFT OUTER JOIN my_photo_table ON my_photo_table.typeid = my_rel_table.typeid
WHERE my_rel_table.relid = 1 
AND my_rel_table.type = 1

या दूसरा तरीका।

DELETE my_rel_table, my_photo_table
FROM my_rel_table 
INNER JOIN 
(
    SELECT id, @Counter:[email protected]+1 AS ItemCounter
    FROM my_rel_table 
    CROSS JOIN (SELECT @Counter:=0) Sub1
    WHERE relid = 1 
    AND type = 1
    ORDER BY id DESC
) Sub1
ON my_rel_table.id = Sub1.id
AND Sub1.ItemCounter <= 5
LEFT OUTER JOIN my_photo_table ON my_photo_table.typeid = my_rel_table.typeid
WHERE my_rel_table.relid = 1 
AND my_rel_table.type = 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. MySQL - 0 के साथ पैड ज़िप कोड कैसे सामने रखें?

  2. HTML सूची संरचना में PHP पुनरावर्ती मेनू

  3. डायनामिक पिवट टेबल पर न्यूनतम और अधिकतम मान कैसे दिखाएं

  4. Mysql कनेक्शन के लिए डिफ़ॉल्ट पोर्ट नंबर कैसे जांचें? कनेक्शन काम नहीं कर रहा! जेडीबीसी कनेक्शन

  5. mysqldump का उपयोग करके mysql db बैकअप में 'विचारों' पर ध्यान न दें