للحصول على الأسعار الخمسة الأخيرة في الجدول وعرض الأسعار التي لها نفس القيمة، يمكنك استخدام الاستعلام التالي:
sqlSELECT idprices, prices
FROM test.prices
WHERE prices IN (
SELECT prices
FROM (
SELECT prices
FROM test.prices
ORDER BY idprices DESC
LIMIT 5
) AS t
GROUP BY prices
HAVING COUNT(*) > 1
)
ORDER BY idprices DESC;
هذا الاستعلام يقوم بتحديد الأسعار الخمسة الأخيرة، ثم يقوم بتجميعها حسب القيمة واستبعاد القيم التي ليس لها أكثر من قيمة واحدة. بعد ذلك، يتم عرض الأسعار التي لها نفس القيمة.
-
تفعيل تسجيل الأحداث في MySQL داخل Docker02/04/2024
-
اختيار نوع التنسيق المناسب في CSS12/04/2024
-
اختبار الدوال الفارغة باستخدام Mockito05/04/2024
يرجى ملاحظة أنه قد تحتاج إلى استبدال “test.prices” بالجدول الصحيح إذا كان اسم الجدول الفعلي يختلف.
المزيد من المعلومات
للحصول على المزيد من المعلومات، يمكنك تحديد مجموعة من الأعمدة الإضافية لعرضها في الاستعلام، مثل اسماء الزبائن أو تواريخ الأسعار. يمكنك أيضًا تحسين الأداء بإنشاء فهرس على العمود “prices” إذا كنت تقوم بعمليات بحث كثيرة على هذا العمود.
على سبيل المثال، إذا كان لديك جدول يحتوي على اسماء الزبائن وتواريخ الأسعار، يمكنك تضمين هذه المعلومات في الاستعلام كما يلي:
sqlSELECT p.idprices, p.prices, c.customer_name, p.price_date
FROM test.prices p
JOIN test.customers c ON p.customer_id = c.customer_id
WHERE p.prices IN (
SELECT prices
FROM (
SELECT prices
FROM test.prices
ORDER BY idprices DESC
LIMIT 5
) AS t
GROUP BY prices
HAVING COUNT(*) > 1
)
ORDER BY p.idprices DESC;
في هذا الاستعلام، قمنا بتضمين اسماء الزبائن (customer_name
) وتواريخ الأسعار (price_date
) من جدول customers
و prices
على التوالي، وتم استخدام الرابطة JOIN
لربط الصفوف بين الجدولين استنادًا إلى معرف الزبون (customer_id
).