PDA

View Full Version : پیدا کردن رکوردهایی که بیشترین تکرار را دارن



Fastdesign
دوشنبه 12 دی 1390, 01:07 صبح
سلام
با فرض اینکه 1000 تا رکورد در یک جدول دارم . حالا تو این جدول چندتا فیلد دارم : که یکیش کد و ...
که تو این 1000 تا رکورد کدهای متفاوتی ذخیره شده .
حالا می خوام بدونم کدوم کد از بین این 1000 تا رکورد تعداد تکرارش بیشتر است.

با چه کدی میشه حل کرد.
ما در اینجا فرض بر 1000 تا گرفتیم . کد باشه که برای کل جدول بشه این کار را انجام داد.


با تشکر


یا حق

pashna
دوشنبه 12 دی 1390, 05:58 صبح
SELECT Field, COUNT(*) FROM Table
GROUP BY Field
ORDER BY Count(*) DESC

Fastdesign
سه شنبه 13 دی 1390, 13:23 عصر
به این صورت اطلاعات را گروه بندی می کنم :
select mcode, count(mcode) as mto from service Group By mcode
حالا می خوام براساس جواب بدست آمده مرتبش کنم . به این صوزت نوشتم ولی جواب نمیده :
select mcode, count(mcode) as mto from service Group By mcode ORDER BY mto desc

به نظر شما مشکل از چیه؟
راه حل چیه ؟

baktash.n81@gmail.com
سه شنبه 13 دی 1390, 18:17 عصر
سلام ... کدتون که مشکلی نداره ... چه پیغامی میده وقتی اجرا می کنید ؟

Fastdesign
سه شنبه 13 دی 1390, 22:57 عصر
تو سی شارپ اجراش می کنم خطا می گیره!
ولی کد بالاییش اجرا می شه و هیچ خطایی نمی گیره.

نمی دونم مشکل از چیه !

Fastdesign
چهارشنبه 14 دی 1390, 01:47 صبح
تو پست سه:
جور دیگه نمیشه براش نوشت؟که جواب بشه مرتب کرد؟

tiphooo
چهارشنبه 28 دی 1390, 15:39 عصر
این دستور که نوشتید
select mcode, count(mcode) as mto from service Group By mcode ORDER BY mto desc
فیلد mto ناشناخته است و نمی توانید در مرتب سازی از آن استفاده کنید به شکل زیر عمل کنید مشکلتان حل می شود

SELECT P.* FROM (select mcode, count(mcode) as mto from service Group
By mcode GROUP BY mcode)P
ORDER BY mto DESC