PDA

View Full Version : سوال: نحوه استفاده همزمان از SELECT , DISTINCT



maysam.m
چهارشنبه 27 بهمن 1389, 16:46 عصر
سلام

من یک کوئری به این شکل دارم:


SELECT * FROM `mytable` ORDER BY `id` DESC LIMIT 10;


حالا میخوام توی اون فیلدهایی که در آی پی تکراری هستند رو حذف کنم
ولی نمیدونم چطوری دستور DISTINCT رو در اون استفاده کنم که فیلدهای تکراری ستون به فرض ip رو حذف کنم.

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

payamsp
چهارشنبه 27 بهمن 1389, 17:48 عصر
SELECT DISTINCT IP FROM TBL_NAME

maysam.m
پنج شنبه 28 بهمن 1389, 00:12 صبح
SELECT DISTINCT IP FROM TBL_NAME


سلام

ممنون از کدتون ولی این کد رو خودم هم امتحان کردم ولی مشکلش اینه که هیچ کدام از ستون ها رو نمایش نمیده .من میخوام علاوه بر اینکه رکوردهای آی پی حذف بشه بتونم بقیه ستون ها رو نمایش بدم.

فرض کنید این ساختار جدول منه:
id, date, browser, os, ip

من میخوام کوئری بگیرم که بر اساس اون سطرهایی که در ستون ip دارای مقادیر تکراری هستند حذف بشند و فقط سطرهای غیر تکراری از نظر ip نمایش پیدا کنند.

mtchabok
پنج شنبه 28 بهمن 1389, 01:32 صبح
من زیاد دستورات sql رو بلد نیستم ولی خودم از این حالت استفاده میکنم :

SELECT * FROM `mytable` group by `ip` ORDER BY `id` DESC LIMIT 10;

maysam.m
پنج شنبه 28 بهمن 1389, 10:22 صبح
من زیاد دستورات sql رو بلد نیستم ولی خودم از این حالت استفاده میکنم :

SELECT * FROM `mytable` group by `ip` ORDER BY `id` DESC LIMIT 10;

سلام
کد به خوبی کار کرد. ممنون از شما دوست عزیز :تشویق: :لبخندساده:

payamsp
پنج شنبه 28 بهمن 1389, 13:09 عصر
به این شکل هم می تونید استفاده کنید


SELECT DISTINCT IP,id,os,date FROM TBL_NAME

$ M 3 H R D A D $
پنج شنبه 28 بهمن 1389, 14:46 عصر
اینجور که شما سوال می کنید معلومه یک جزوه 1 صفحه ای هم از mysql و ورق نزدید لطفا جستجو کنید

maysam.m
پنج شنبه 28 بهمن 1389, 15:22 عصر
اینجور که شما سوال می کنید معلومه یک جزوه 1 صفحه ای هم از mysql و ورق نزدید لطفا جستجو کنید

سلام

من همیشه عادت قبل از طرح سوال جستجو کنم. اما این بار هر چیزی جستجو پیدا کردم نتیجه پیدا نکردم هر چند به نتیجه دوستمون payamsp عزیز رسیده بودم ولی میخواستم ببینم راه دیگری غیر از آن هست یا نه .

موفق باشید

$ M 3 H R D A D $
جمعه 29 بهمن 1389, 00:29 صبح
نه دوست عزیز من راستیتش خیلی با خودم فکر کردم که این اعتراض و بگم یا نه اما گفتم بگم بهتره : بنا به دلایلی : آدم یک سینتکس ساده و میشناسه
مثلا من کافیه بدونم یک بخشی از دستورم کلمه خاصی داره
و نمنونش سوال شما چیزی هست که در حد درست و غلط بودنه یعنی به شرایط خاص بستگی نداره که این همه بحث روش بشه
منخودم توی اینجور مواقع تو نت دنبال مثال ها از یک تکه کد خاص می گردم
یعنی کد خودم و برابر اصل کد می کنم
پس شما هم دنبال رفرنس ها باشید مطمون باشید نمونه کد های مختلفی هست که با دیدن بشه از اشکال کد خودتون مطلع بشید
من قصد ناراحتی نداشتم خواستم شما رو به یک مسیر هدایت کنم چون واقعا مدیون گوگل هستم من چون از هیچ کمکی بهم دریغ نکرده

rapidpich
جمعه 29 بهمن 1389, 08:34 صبح
البته من هم به این بنده خدا حق میدم.
من هم بار اول که دنبال کوئری حذف تکراریا گشتم به DISTINCT رسیدم
درحالیکه جوابش GROUP هست.

maysam.m
جمعه 29 بهمن 1389, 12:15 عصر
سلام


نه دوست عزیز من راستیتش خیلی با خودم فکر کردم که این اعتراض و بگم یا نه اما گفتم بگم بهتره : بنا به دلایلی : آدم یک سینتکس ساده و میشناسه
مثلا من کافیه بدونم یک بخشی از دستورم کلمه خاصی داره
و نمنونش سوال شما چیزی هست که در حد درست و غلط بودنه یعنی به شرایط خاص بستگی نداره که این همه بحث روش بشه
منخودم توی اینجور مواقع تو نت دنبال مثال ها از یک تکه کد خاص می گردم
یعنی کد خودم و برابر اصل کد می کنم
پس شما هم دنبال رفرنس ها باشید مطمون باشید نمونه کد های مختلفی هست که با دیدن بشه از اشکال کد خودتون مطلع بشید
من قصد ناراحتی نداشتم خواستم شما رو به یک مسیر هدایت کنم چون واقعا مدیون گوگل هستم من چون از هیچ کمکی بهم دریغ نکرده

دوست بزرگوار
نمیخوام بحث بی دلیل کِش پیدا کنه! اما باید بگم:
وقتی بنده با تمام دستورات mysql آشنا نیستم بنابراین نمی توانم که حدس بزنم که باید به دنبال چی چیزی باشم و چه چیزی را جستجو کنم.
وقتی بتونی از گوگل کمک بگیری سریعتر به نتیجه میرسی ولی وقتی نتونی باید اینجا چند روز منتظر پاسخ بمونی پس بهتره که همیشه قبل از ارسال تاپیک جستجو کرد .
بارها شده که یک روز کامل در گوگل با کیورد های مختلف داشتم سرچ میکردم و بلاخره به نیتجه رسیدم ولی بعضی وقتها که حس میکنی از گوگل به نتیجه نمی رسی باید بیای اینجا و از دوستان اینجا کمک بگیری.
که خوشبختانه دوستان بزرگوار و سخاوتمندی در این انجمن وجود دارند که سوالات کاربران رو خیلی سخاوتمندانه پاسخ می دهند.

یه ضرب المثل هست که میگه : ندانستن عیب نیست، نپرسیدن عیبه!

من ندانستم قبلا جستجو کرده ام به نتیجه نرسیده ام و حالا میخوام سوال کنم! و مشکلی در این قضیه نمی بینم. حالا شما با جستجو به نتیجه می رسی که این بحثش جداست.
همه که با جستجو به نتایج مورد نظرشون نمی رسند!!

موفق باشید

$ M 3 H R D A D $
جمعه 29 بهمن 1389, 13:07 عصر
با فاکتور گرفتن از اون علامت های تعجب آخر شما در مورد این نظرتون موافقم:چشمک: