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

सभी पंक्तियां हटाएं और नवीनतम x बाएं रखें

DELETE ORDER BY . का समर्थन करता है और LIMIT खंड, तो यह संभव है। हालांकि, DELETE . के कारण के संदर्भात्मक प्रतिबंध और LIMIT . के पैरामीटर आपको दो प्रश्नों की आवश्यकता है।

SELECT COUNT(*) AS total FROM table  WHERE roomid = 1;
-- run only if count is > 3
DELETE FROM table WHERE roomid = 1 LIMIT total - 3;

कृपया ध्यान दें कि इसके लिए शायद एक मध्यस्थ तकनीक की आवश्यकता होगी। मैंने संदर्भ के लिए प्रश्नों को दिखाया है।



  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 स्थानीय चर

  2. अद्यतन के लिए MySQL यूनियन

  3. डुप्लिकेट परिणाम देने वाली क्वेरी?

  4. MySQL में कंपाउंड FULLTEXT इंडेक्स

  5. मास्टर रिकॉर्ड प्राप्त करने के लिए उन्नत मैसकल क्वेरी यदि चाइल्ड रिकॉर्ड की विभिन्न पंक्तियों पर दो स्थितियां मेल खाती हैं