نحوه ساختن گزارش گیری براساس شروط مورد نظر

sogoli

Active Member
باسلام
ببنید یه فرم دارم که فیلدهای ان شامل:

ردیف -- تاریخ --- استان -- شهر -- تعداد تصادفات --

حال کاربران فرضا 10 تا رکورد به این فرم اضافه کردند بدین صورت که از این 10 تا
4 تاش برای تهران
2 تاش برای اصفهان
3 تاش برای شیراز
1 برای مشهد
حال می خواهم یه گزارش ازش بگیریم با این شرایط که بیاد از هر استان آخرین رکورد رو بر حسب آخرین تاریخ انتخاب و نمایش دهد

1 --85/10/10--- تهران-- تهران-- 210 --
2 --85/12/16--- تهران-- تهران-- 250 --
3--86/05/09--- تهران-- تهران-- 130 --
4--86/11/22--- تهران-- تهران-- 72 --
5--85/01/18--- اصفهان -- اصفهان -- 68 --
6--87/08/15--- اصفهان -- اصفهان -- 29 --
7--86/01/02--- فارس-- شیراز-- 123 --
8--86/03/31--- فارس-- شیراز-- 56 --
9--86/08/24--- فارس-- شیراز-- 98--
10--85/04/12--- خراسان-- مشهد -- 75--

که در گزارش می خوام ردیفهای 4 ، 6،9 و 10 نمایش داده شود

ممنون میشم راهنمایی کنید.
 

P.H.P

Member
به نظر من اگه نام شهر ها رو english کنی راهتر میتونی query بگیری ؛ به جاش میتونی تو فرم فارسی کنی

بعد آخرین رکورد رو از هر شهر راحت بگیر


موفق
 

sunrise

Member
مي تونيد از دستور GROUP BY در پرس و جو استفاده کنيد، به اين صورت که تعيين کنيد براساس رديف دسته بندي صورت بگيره.
کد:
GROUP BY رديف
البته در MySQL نميشه ابتدا مرتبط کرد بعد عمليات گروهبندي رو انجام داد اما براي اين مي تونيد با استفاده از دستور SQL زير ابتدا اطلاعات رو بر اساس ترتيب و محدوديت هاي مورد نظر فچ گرفته و در يک جدول موقتي ذخيره کنيد و بعد با استفاده از يک دستور SQL مناسب اطلاعات رو از جدول موقتي فچ گرفته و با استفاده از دستوري که در بالا گفتم اطلاعات رو گروهبندي کنيد.
کد:
CREATE TEMPORARY TABLE temp_table
SELECT * FROM your_table
ORDER BY تاريخ DESC
بعد توسط پرس و جوي زير اطلاعات رو گروه بندي کنيد:
کد:
SELECT * FROM temp_table
GROUP BY رديف
البته الان اين روش به ذهنم رسيد، شايد حتي روش هاي بهتري هم بشه استفاده کرد.
 

جدیدترین ارسال ها

بالا