دستور count(id=) یک عدد در sql
با سلام و خسته نباشید
برای بدست آوردن نتیجه دستور count(id)>10 توی sql چیکار کنم
می خواهم مشخص کنم مثلا: کاربرانی که بیشتر از ده بار به سایت وارد شده اند کیان هستند!
کد HTML:
select id from user where count(login)>10
همچین چیزی امکان داره؟
پاسخ : دستور count(id=) یک عدد در sql
ابتدا باید ورود و خروج های یوزرها در تیبل شما ثبت شده باشند که بتونید همچین کوئری رو اجرا کنید در غیر اینصورت پاسخی دریافت نخواهد شد
این درخواست برای چه سیستمی هست ؟
پاسخ : دستور count(id=) یک عدد در sql
نقل قول:
نوشته اصلی توسط
OMIDTU5
ابتدا باید ورود و خروج های یوزرها در تیبل شما ثبت شده باشند که بتونید همچین کوئری رو اجرا کنید در غیر اینصورت پاسخی دریافت نخواهد شد
این درخواست برای چه سیستمی هست ؟
ببخشید یعنی چی برای چه سیستمی است؟ دستور برای sql است.
پاسخ : دستور count(id=) یک عدد در sql
نقل قول:
نوشته اصلی توسط
Marshall
ببخشید یعنی چی برای چه سیستمی است؟ دستور برای sql است.
سلام
اگر مرتبط با همون اسکریپتی هست که دارید با yii مینویسید، پیشنهاد میکنم یک کاری انجام بدید، راحت تر هست.
یک جدول جدید بسازید، با نام session ( نشست ) که پس از ورود هر کاربر، اطلاعاتی که مدنظر دارید در این جدول تنظیم بشه.
اطلاعاتی مثل تاریخ ورود، دفعات ورود، یوزر آیدی و آی پی و ... تا موارد دیگر.
این جدول شامل id , userid, time, counting باشه.
مقدار id که int هست و بصورت auto تعیین میشه.
userid که بصورت int هست.
time هم روی حالت datetime
counting هم بصورت int در نظر بگیرید ( در حالت Default روی 0 تنظیم کنید )
حالا، برای پس از ورود هر کاربر، یک کوئری Insert ساده در نظر بگیرید که اطلاعات رو ثبت کنه و بعد از هر بار ورود، مقدار counting+1 بشه.
این ساده ترین و بی دردسرترین راه هست.
که علاوه بر این، میتونید اطلاعات مختلفی از کاربر رو توی جدول ذخیره کنید.
علاوه بر اون میتونید اطلاعات افراد غیرکاربر و اصطلاحا میهمان رو هم بر اساس IP شون ثبت کنید.
پاسخ : دستور count(id=) یک عدد در sql
نقل قول:
نوشته اصلی توسط
sam_pontiac
سلام
اگر مرتبط با همون اسکریپتی هست که دارید با yii مینویسید، پیشنهاد میکنم یک کاری انجام بدید، راحت تر هست.
یک جدول جدید بسازید، با نام session ( نشست ) که پس از ورود هر کاربر، اطلاعاتی که مدنظر دارید در این جدول تنظیم بشه.
اطلاعاتی مثل تاریخ ورود، دفعات ورود، یوزر آیدی و آی پی و ... تا موارد دیگر.
این جدول شامل id , userid, time, counting باشه.
مقدار id که int هست و بصورت auto تعیین میشه.
userid که بصورت int هست.
time هم روی حالت datetime
counting هم بصورت int در نظر بگیرید ( در حالت Default روی 0 تنظیم کنید )
حالا، برای پس از ورود هر کاربر، یک کوئری Insert ساده در نظر بگیرید که اطلاعات رو ثبت کنه و بعد از هر بار ورود، مقدار counting+1 بشه.
این ساده ترین و بی دردسرترین راه هست.
که علاوه بر این، میتونید اطلاعات مختلفی از کاربر رو توی جدول ذخیره کنید.
علاوه بر اون میتونید اطلاعات افراد غیرکاربر و اصطلاحا میهمان رو هم بر اساس IP شون ثبت کنید.
یه دستور پیدا کردم توی نت عمل می کنه ولی هیچ نتیجه ای رو بالا نمیاره
کد HTML:
SELECT id, Count(login) FROM user GROUP BY id HAVING COUNT(login) >10
پاسخ : دستور count(id=) یک عدد در sql
نقل قول:
نوشته اصلی توسط
Marshall
یه دستور پیدا کردم توی نت عمل می کنه ولی هیچ نتیجه ای رو بالا نمیاره
کد HTML:
SELECT id, Count(login) FROM user GROUP BY id HAVING COUNT(login) >10
خب با ساختار دیتابیس شما تطابق داره این دستور؟!
میتونید یه اسکرین از ساختار جدول مربوطه برای من بفرستید؟
البته پیشنهاد تجربی من رو حتما بهش اهمیت بدید، مطمئنا بهتر هست.
پاسخ : دستور count(id=) یک عدد در sql
نقل قول:
نوشته اصلی توسط
sam_pontiac
خب با ساختار دیتابیس شما تطابق داره این دستور؟!
میتونید یه اسکرین از ساختار جدول مربوطه برای من بفرستید؟
البته پیشنهاد تجربی من رو حتما بهش اهمیت بدید، مطمئنا بهتر هست.
خیلی از پیشنهادتون ممنونم و می فهم چی گفتید فقط باید راه حل ساده ای هم وجود داشته باشه مثل این کدی که نوشتم
بله با ساختار جدول من تطابق داره و توی نت که سرچ کردم بعنوان پاسخ برگزیده هم انتخاب شده
کد HTML:
https://stackoverflow.com/questions/1804731/where-countcol-1
ولی نمی دونم چرا هیچ نتیجه ای نداره!
پاسخ : دستور count(id=) یک عدد در sql
نقل قول:
نوشته اصلی توسط
Marshall
خیلی از پیشنهادتون ممنونم و می فهم چی گفتید فقط باید راه حل ساده ای هم وجود داشته باشه مثل این کدی که نوشتم
بله با ساختار جدول من تطابق داره و توی نت که سرچ کردم بعنوان پاسخ برگزیده هم انتخاب شده
کد HTML:
https://stackoverflow.com/questions/1804731/where-countcol-1
ولی نمی دونم چرا هیچ نتیجه ای نداره!
پیشنهاد من هم خیلی ساده بود البته.
بهر جهت، این کوئری گروه بندی میکنه بر اساس اونهایی که مجموعشون بیش از 10 مورد هست.
یا این عدد رو تغییر بدید ( کمتر کنید، شاید داده هاتون به اون میزان نیست ).
یا به جای GROUP کردن، یک ORDER ساده بگیرید.
یعنی به این شکل :
کد:
SELECT id, Count(login) FROM user ORDER BY id DESC
امتحان کنید ببینیم نتیجه میده.
پاسخ : دستور count(id=) یک عدد در sql
نقل قول:
نوشته اصلی توسط
sam_pontiac
پیشنهاد من هم خیلی ساده بود البته.
بهر جهت، این کوئری گروه بندی میکنه بر اساس اونهایی که مجموعشون بیش از 10 مورد هست.
یا این عدد رو تغییر بدید ( کمتر کنید، شاید داده هاتون به اون میزان نیست ).
یا به جای GROUP کردن، یک ORDER ساده بگیرید.
یعنی به این شکل :
کد:
SELECT id, Count(login) FROM user ORDER BY id DESC
امتحان کنید ببینیم نتیجه میده.
نه بابا از روی داده ها دارم بهش عدد میدم هر عددی که میزنم نتیجه ای نمیاره
دستور شما هم عمل کرد و یک مقداری رو پیدا کرد
پاسخ : دستور count(id=) یک عدد در sql
نقل قول:
نوشته اصلی توسط
Marshall
نه بابا از روی داده ها دارم بهش عدد میدم هر عددی که میزنم نتیجه ای نمیاره
دستور شما هم عمل کرد و یک مقداری رو پیدا کرد
پس الان برطرف شد؟
پ.ن: دقیقا در حالت تصور و تجسم ساختار دیتابیس و ... دارم راهنمایی میکنم /:)