لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
مشكل في distinct ترتيب النتائج من الأكبر للأصغر
السلام عليكم

أحتاج لترتيب نتائج من الأكبر للأصغر
النتائج هي مثلا كالتالي A, A, B, C, S,B, B, B

أنا استعمل في الاستعلام distinct لعدم تكرار النتائج
فيتم جلب

A B C S

أنا أريد أن يتم ترتيب النتائج من الأكبر للأصغر حسب التكرار
يعني يتم عرض B ثم A تم C ثم S
لان B مكررة 4 مرات و A مكررة مرتين و C و S مكررة مرة واحدة

و مشكورين للمساعدة
تاريخ البداية: 16 / فبراير / 2012 الساعة 17:21 اخر نشاط: 3 / مايو / 2014 الساعة 15:58 ترتيب mysql
3 إجابات
SELECT field_1,field_2,count(field_name) FROM table_name GROUP BY field_name order by count(field_name) desc
اسماء الحقول التى تريد استخراجها ، يمكنك زيادتها كما تريد
field_1
field_2
اسم الحقل الذى يحتوي على A B C S
field_name
اسم الجدول
table_name

بواسطة: omardealo
منذ: 3 / مايو / 2014 الساعة 15:58

select count(id) as c ,id from table1
group by id
order by desc
هذا يقوم بجلب عدد تكرار كل واحد وبعدين يرتبهم تنازليا
بمعنى الاكبر تم الاضغر

بواسطة: Arwa
منذ: 16 / فبراير / 2012 الساعة 17:54

لما تستعمل as c
16 / فبراير / 2012 الساعة 18:1

لا أظن هذا الحل نافع يا ريث توضح لو سمحت
16 / فبراير / 2012 الساعة 18:6

عفوا من فضلك جربه
حضرتك تريد من له اكثر تكرار ويظهر بشكل تنازلي صح
يتم حساب عدد تكرار كل واحد ويتم ترتيبهم تنازليا لكي تظهر من هو اكثر تكرار في الاعلى
16 / فبراير / 2012 الساعة 18:10

وas c
هذه تكوين اسم لحقل عدد تكرار كل واحد فيهم
16 / فبراير / 2012 الساعة 18:11

انتظر في حضرتك من فضلك جربه
16 / فبراير / 2012 الساعة 18:15

جربته و لم ينفع للأسف , أنا استعمل distinct لعرض النتائج دون تكرار يبقى المشكل في الترتيب
16 / فبراير / 2012 الساعة 18:21

عفوا تريد ان يظهر من له اكثر تكرار
group by ستضمهم لبعضهم
انتظرني دقائق ساقوم بتجربته مثل ماحضرتك دخلت البيانات باذن الله
16 / فبراير / 2012 الساعة 18:27

SELECT count(id) as c, id FROM `t1`
group by id
order by c desc;
عفوا اعتدر فقط غير من id الموجودة في order by الي c
وانا جربتها واعطتني ماتريد
16 / فبراير / 2012 الساعة 18:35

انا الان جرتبها من فضلك فقط غير في سطر orderby من id الي c
فقط لكي يرتب ناتج التكرار
16 / فبراير / 2012 الساعة 18:36

أنظر للتوضيح بالأعلى أنا اريد أن تظهر النتائج هكذا A B C S كما ترى الترتيب من الأكثر تكراراً الى الأصغر
16 / فبراير / 2012 الساعة 18:37

نعم ظهر لي a تم b تم c تم s
لان a الاكثر تكرار وسيظهر ايضا رقم تكرارها
جربها الان بعد ماعدلتها من id الي c في order by
16 / فبراير / 2012 الساعة 18:40

كما قلت لك النتائج تظهر بأكملها يعني مكررة أنا اريدها بلا تكرار هكذا A B C S يا ريث تقرأ السؤال و قبل الاجابة
16 / فبراير / 2012 الساعة 18:41

انا اسفة ان كنت لم اصل للاجابة الصحيحة
ولكن حضرتك الي انا قهمته انك تريد ان تظهر كل من الحروف مرتبة تنازليا على حسب عدد تكرارها وكذلك ظهرت ومن غير تكرار لان group by لن تجعلها تظهر متكررة يبدو اني لم افهمك جيدا
16 / فبراير / 2012 الساعة 18:44

للترتيب على اساس الترتيب الابجدى للاحرف عليك فقط استعمال اسم الحقل بعد امر الترتيب مثل
SELECT * FROM Persons ORDER BY LastName

بواسطة: MacOS
منذ: 16 / فبراير / 2012 الساعة 17:28

يا ريث تقرأ المشكل كاملا لا أقصد هذا أنا عندي نتائج متكررة مثل A, A, B, C, S, B, B, B اقوم باستعمال distinct لعدم تكرار النتائج و لدي مشكل مع الترتيب اريد ترتيب النتائج من الأكثر تكرار الى الأصغر هكذا A B C S
16 / فبراير / 2012 الساعة 17:42

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة