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

MYSQL तालिकाओं से नवीनतम पोस्ट का चयन करें

आईडी चीज़ अभी भी सैद्धांतिक रूप से काम करेगी, बशर्ते कि आईडी कभी न बदले...

मैं "तारीख" नामक तालिका संरचना में टाइमस्टैम्प फ़ील्ड का उपयोग करने की अनुशंसा करता हूं और डिफ़ॉल्ट मान के रूप में "CURRENT_TIMESTAMP" का उपयोग करता हूं, यह डालने पर रिकॉर्ड पर दिनांक/समय को स्वत:पॉप्युलेट करेगा...

इस क्षेत्र द्वारा आदेश डीईएससी, सीमा x

साथ ही, मैंने समूहीकरण के कारण गलत डेटा प्रदर्शित होने के कई मामलों का अनुभव किया है... सुनिश्चित करें कि ORDER BY और LIMIT लागू होने से पहले आपका डेटा सही है

उपयोगकर्ता1 से उपयोगकर्ता1 में पोस्ट प्राप्त करने के लिए इसके आधार पर समूह बनाने की आवश्यकता नहीं है:

SELECT * FROM posts 
WHERE toID=fromID
ORDER BY date DESC LIMIT 3

* से user1 को पोस्ट प्राप्त करने के लिए:

SELECT * FROM posts 
WHERE toID="USER1_ID"
ORDER BY date DESC LIMIT 3

* से उपयोगकर्ता 1 के लिए पोस्ट प्राप्त करने के लिए, केवल अद्वितीय उपयोगकर्ता:

SELECT * FROM posts 
WHERE toID="USER1_ID"
GROUP BY FromID
ORDER BY date DESC LIMIT 3

कभी-कभी आप उस समस्या का सामना करेंगे जहां ORDER BY द्वारा GROUPED रिकॉर्ड का आदेश नहीं दिया जाता है, क्योंकि ORDER BY को समूहीकरण लागू होने के बाद परिणाम पर लागू किया जाता है... समाधान प्राप्त करने के लिए:

SELECT * FROM (
  SELECT * FROM posts 
  WHERE toID="USER1_ID"
  ORDER BY date DESC
) as `derived` GROUP BY FromID LIMIT 3

अंतिम 3 उपयोगकर्ताओं को प्राप्त करने के लिए जिन्होंने हाल ही में खुद को एक पोस्ट भेजा है:

SELECT * FROM (
  SELECT * FROM posts 
  WHERE toID=fromID
  ORDER BY date DESC
) as `derived` GROUP BY FromID LIMIT 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. PHP कोड रीडायरेक्ट करने के लिए यदि mysql फ़ील्ड पूर्ण हो गया है

  2. MySQL में UPPER () फ़ंक्शन कैसे काम करता है

  3. MySQL सर्वर Drupal 7 में चला गया है

  4. MySQL:आप खंड से अद्यतन के लिए लक्ष्य तालिका निर्दिष्ट नहीं कर सकते हैं

  5. mysql परिणाम डेटासेट के अंदर अगला रिकॉर्ड कैसे प्राप्त करें?