استعادة أحدث السجلات لكل مجموعة مع مجموعة بواسطة
هدفك هو استخراج أحدث رسالة من كل مستخدم ، أقرب إلى الشاشة في صندوق الوارد على Facebook.The Squery المقدمة ، "حدد * من مجموعة الرسائل بواسطة From_ID" ، يعطي أقدم رسالة لكل مستخدم بدلاً من آخرها. لتصحيح هذا ، مطلوب نهج بديل.
للحصول على أحدث الرسائل ، تحتاج إلى تحديد الحد الأقصى الطابع الزمني لكل مستخدم والانضمام إلى هذه المعلومات مع جدول "الرسائل". إن الاستعلام أدناه ينجز هذا:
حدد T1.* من الرسائل T1 انضم إلى (حدد من _id ، max (timestamp) timestamp من مجموعة الرسائل بواسطة من _id) t2 على t1.from_id = t2.from_id و t1.timestamp = t2.timestamp ؛
SELECT t1.* FROM messages t1 JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2 ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;يؤدي هذا الاستعلام ما يلي:
هذا المساحة الفرعية مع جدول "الرسائل" الأصلي باستخدام أعمدة "من _id" و "Timestamp".
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3