PDA

View Full Version : جلوگیری از تکرار در نمایش اطلاعات



terrorhell
یک شنبه 17 آبان 1388, 00:15 صبح
سلام ، فرض کنید ما یک جدول داریم که در آن یک سری اعداد قرار گرفته به صورت زیر :

20
15
20
56
100
90
4
3
20
50
56
20

در این داده های که در جدول ما قرار گرفته تکرار اعداد زیاد انجام شده و عدد 20 مثلاً 4 بار و 56 دو بار تکرار شده

ممنون میشم دوستان راهنمایی کنند که چگونه میتونیم یک کوئری بنویسیم که اگر تکرار در جدول وجود داشت فقط یک بار اون عدد رو نمایش بده ( مثلاً اگر 20 چهار بار در جدول قرار داره فقط یک بار نمایش داده بشه )

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

amirepsilon
یک شنبه 17 آبان 1388, 06:16 صبح
SELECT DISTINCT FROM tablename

terrorhell
یک شنبه 17 آبان 1388, 10:21 صبح
یعنی چی !؟ بیشتر توضیح بدین !!!!؟؟ DISTINCT چیه !؟

terrorhell
یک شنبه 17 آبان 1388, 10:25 صبح
$sql1 = mysql_query("SELECT DISTINCT FROM _update_user ORDER BY time DESC ;");
while($row1 = mysql_fetch_array($sql1))


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/******/public_html/kernel/update_user.php on line 24
__________________________________________________
وقتی به این صورت هم استفاده میکنم باز هم داخلش تکرار دارم


$sql1 = mysql_query("SELECT DISTINCT id,user_id,mode,date,time FROM _update_user ORDER BY time DESC ;");


دوستان باید عرض کنم که من میخوام مقادیر user_id تکراری نباشن و تمام فیلدهای جدول هم select بشن اما در این کوئری اگه من به جز user_id چیزه دیگه بعد از distinct بزارم مثه قبل نمایش داده میشه اما اگر فقط DISTINCT user_id بزارم از هر مقدار یکی نمایش میده ولی مشکل اینه که مقادیر رو به ترتیب sort میکنه

من میخوام مقادیر تکراری نداشته باشه و بر حسب time اطلاعات رو order by time DESC نمایش بده

مثلاً اگه user_id 20 ده بار در این در جاهای مختلف این جدول insert شده بود فقط آخرین رکورد مربوط به user_id 20 رو بر حسب زمان نمایش بده

امیدوارم منظورمو رسونده باشم

terrorhell
یک شنبه 17 آبان 1388, 19:34 عصر
دوستان گرامی F1 بدید :D

amirepsilon
یک شنبه 17 آبان 1388, 22:40 عصر
لطفا php_manual را مطالعه بفرمایید

onlymaj
دوشنبه 18 آبان 1388, 08:40 صبح
کافیه اونها رو گروه بندی کنی بر اساس همون فیلد یعنی :


GROUP BY `FieldName`

terrorhell
دوشنبه 18 آبان 1388, 16:54 عصر
سلام من میخوام این کار رو انجام بدم :

وقتی کاربران سایت یک تغییراتی در profile خودشون انجام میدن ، اون تغییرات در این جدول ذخیره میشه

مثلاً userID 20 میاد و یک پست به بلاگش اضافه میکنه و در این جدول یک رکورد اضافه میشه که :
id = 100
userID = 20
mode = 2 ( دو یعنی بلاگ را آپدیت کرده )
date = 88/7/3
time = 787889787

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

مثلاً اگر userID 20 ده بار تو جدول باشه و userID 100 پنج بار و ... اون کوئری بیاد فقط آخرین فعالیت اون کاربر که تو جدول قرار گرفته نشون بده به جای 10 بار تغییراتی که در گذشته انجام داده

terrorhell
چهارشنبه 20 آبان 1388, 02:16 صبح
سلام ، خبری نیست !؟