PDA

View Full Version : انتخاب رکورد های یکسان از بانک



amirepsilon
سه شنبه 12 خرداد 1388, 08:12 صبح
سلام
فرض کنید مایک جدول داریم به این شکل :

field = user

record1 = amir
record2 = saeed
record3 = amir

حالا میخواهیم اطلاعات جدول رو نمایش بدیم ولی به یه شرط
رکورد های تکراری رو فقط یکبار نمایش بده

ممنون

sama01
سه شنبه 12 خرداد 1388, 09:42 صبح
با استفاده از DISTINCT. به این شکل:


SELECT DISTINCT field FROM table

as13851365
سه شنبه 12 خرداد 1388, 09:59 صبح
خوب از کد زیر می تونید استفاده کنید :


SELECT DISTINCT user FROM tablename
ORDER BY user

__ziXet__
سه شنبه 12 خرداد 1388, 11:02 صبح
دوستان منم همین یه مشکلی با این DISTINCT دارم!
من یه کوئری به شکل زیر دارم:

SELECT DISTINCT name FROM table ORDER BY name
این خوب کار میکنیه ولی که بخوام به غیر از name یه فیلد دیگه رو SELECT کنم dISTINCT عمل نمیکنه!
مثل این:

SELECT DISTINCT name,family FROM table ORDER BY name

اگه امکان داره بگید کوئری دوم مشکلش چیه که DISTINCT روش اعمال نمیشه!؟

as13851365
سه شنبه 12 خرداد 1388, 11:33 صبح
اگه از select های تو در تو استفاده کنید به نتیجه می رسید

sama01
سه شنبه 12 خرداد 1388, 16:04 عصر
این خوب کار میکنیه ولی که بخوام به غیر از name یه فیلد دیگه رو SELECT کنم dISTINCT عمل نمیکنه!
به نظرم این کار غیر منطقیه. شما فرض کن سه رکورد دارید که فیلد name آنها مقدار مشابه amir را دارند. ولی مقدار فیلد family هر یک از این رکوردها متفاوته. خوب باید مقدار کدام رکورد برای family نمایش پیدا کنه؟

می‌شه دقیقا کاری را که می‌خواهید انجام دهید توضیح دهید. با این توضیحاتتون، کاری که می‌خواهید انجام دهید غیر منطقی و نادرسته.

__ziXet__
سه شنبه 12 خرداد 1388, 18:52 عصر
به نظرم این کار غیر منطقیه. شما فرض کن سه رکورد دارید که فیلد name آنها مقدار مشابه amir را دارند. ولی مقدار فیلد family هر یک از این رکوردها متفاوته. خوب باید مقدار کدام رکورد برای family نمایش پیدا کنه؟

می‌شه دقیقا کاری را که می‌خواهید انجام دهید توضیح دهید. با این توضیحاتتون، کاری که می‌خواهید انجام دهید غیر منطقی و نادرسته.
این جواب داد!(کجاش غیر منطقیه؟)

SELECT DISTINCT name,family FROM table GROUP BY name
در این باره تاپیک های خیلی زیاد خارجی بود که بعضی هاشونم sub query رو پیشنهاد کرده بودن
ولی با این حل شد

sama01
سه شنبه 12 خرداد 1388, 19:48 عصر
دوست عزیز. سوال را شما نپرسیدید که الآن جواب می‌دید. من از کسی که سوال پرسیده‌بود سوالی کردم. اجازه دهید خدو ایشان جواب دهند.
چیزی ایشان نوشته‌اند، با چیزی که شما اشاره کردید فرق می‌کند. (لااقل در بیان)
بنده هم این query را بلدم. می‌تونستم با نوشتنش از سر خودم باز کنم. ولی ظاهرا سوال کننده منظور دیگری دارد.
اجازه دهید خودشان پاسخ دهند.

amirepsilon
سه شنبه 12 خرداد 1388, 20:14 عصر
سلام
1. GROUP BY چیه ؟
2. sub query چیه ؟
ممنون

sama01
سه شنبه 12 خرداد 1388, 21:18 عصر
دوست عزیز؛
اگر می خواهید دوستان به تر بتوانند کمک کنند، لطف کنید سوال خود را شفاف بپرسید. هدف شما از کاری که می‌خواهد بکنید چیست؟

__ziXet__
سه شنبه 12 خرداد 1388, 21:21 عصر
دوست عزیز. سوال را شما نپرسیدید که الآن جواب می‌دید. من از کسی که سوال پرسیده‌بود سوالی کردم. اجازه دهید خدو ایشان جواب دهند.
چیزی ایشان نوشته‌اند، با چیزی که شما اشاره کردید فرق می‌کند. (لااقل در بیان)
بنده هم این query را بلدم. می‌تونستم با نوشتنش از سر خودم باز کنم. ولی ظاهرا سوال کننده منظور دیگری دارد.
اجازه دهید خودشان پاسخ دهند.
آقا حل شد! بیخیال!