با سلام و خسته نباشید
برای بدست آوردن نتیجه دستور count(id)>10 توی sql چیکار کنم
می خواهم مشخص کنم مثلا: کاربرانی که بیشتر از ده بار به سایت وارد شده اند کیان هستند!
همچین چیزی امکان داره؟کد HTML:select id from user where count(login)>10
با سلام و خسته نباشید
برای بدست آوردن نتیجه دستور count(id)>10 توی sql چیکار کنم
می خواهم مشخص کنم مثلا: کاربرانی که بیشتر از ده بار به سایت وارد شده اند کیان هستند!
همچین چیزی امکان داره؟کد HTML:select id from user where count(login)>10
ویرایش توسط Marshall : December 15th, 2019 در ساعت 00:37
ابتدا باید ورود و خروج های یوزرها در تیبل شما ثبت شده باشند که بتونید همچین کوئری رو اجرا کنید در غیر اینصورت پاسخی دریافت نخواهد شد
این درخواست برای چه سیستمی هست ؟
سلام
اگر مرتبط با همون اسکریپتی هست که دارید با yii مینویسید، پیشنهاد میکنم یک کاری انجام بدید، راحت تر هست.
یک جدول جدید بسازید، با نام session ( نشست ) که پس از ورود هر کاربر، اطلاعاتی که مدنظر دارید در این جدول تنظیم بشه.
اطلاعاتی مثل تاریخ ورود، دفعات ورود، یوزر آیدی و آی پی و ... تا موارد دیگر.
این جدول شامل id , userid, time, counting باشه.
مقدار id که int هست و بصورت auto تعیین میشه.
userid که بصورت int هست.
time هم روی حالت datetime
counting هم بصورت int در نظر بگیرید ( در حالت Default روی 0 تنظیم کنید )
حالا، برای پس از ورود هر کاربر، یک کوئری Insert ساده در نظر بگیرید که اطلاعات رو ثبت کنه و بعد از هر بار ورود، مقدار counting+1 بشه.
این ساده ترین و بی دردسرترین راه هست.
که علاوه بر این، میتونید اطلاعات مختلفی از کاربر رو توی جدول ذخیره کنید.
علاوه بر اون میتونید اطلاعات افراد غیرکاربر و اصطلاحا میهمان رو هم بر اساس IP شون ثبت کنید.
سلام. یه فیلدی در نظر بگیرین که تعداد لاگین کاربر رو ثبت کنه و با هربار لاگین یکی بهش اضافه بشه.
اونوقت دیگه به تابع count احتیاجی پیدا نمیکنین. چون به طور مثال اگه اسم فیلدی که تعداد لاگین کاربرارو ذخیره میکنه اسمش logincount باشه، شما میگین کاربرایی که logincount بیشتر از 10 باشه.
با سلام
بله دوست عزیز در جریان هستم ولی این کوئری که نوشتم مربوط به همین کار است فقط نمی دونم برای من چرا نباید کار کنه با دستور count هیچی پیدا نمی کنه ولی با دستور sum مجموع ها رو میارم
من میگم وقتی دستورش هست احتیاج به ساخت فیلد درون دیتابیس نیست
چون شاید من یا یکی دیگه مثل من لازم داشته باشه برای دهها جدول همین کارو انجام بده بعد اینطوری با دیدگاه شما هی باید فیلد بسازه! برای جدولهای قبلی که از اول این فیلد رو نداشتن چه دستوری رو باید بزنه که تعداد همه رو دونه به دونه جمع کنه و توی فیلد موردنظر وارد بشه!!!!!
از پیشنهاد شما سپاسگزارم
ویرایش توسط Marshall : December 15th, 2019 در ساعت 05:43
کد زیر دقیقا بیان میکند که user_id کاربرانی را بگیر که بیشتر از 3 بار لاگین دارند
group کردن هم که مشخصه برای این استفاده میشه که دسته بندی بشه
کاملا صحیح کار میکنه
دموکد PHP:
SELECT user_id FROM user GROUP BY user_id HAVING count(id) >3
https://demo.phpmyadmin.net/master-c...emo&table=user
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)