نمایش نتایج 1 تا 9 از 9

نام تاپیک: ایجاد شرط برای SQL_CALC_FOUND_ROWS

  1. #1

    ایجاد شرط برای SQL_CALC_FOUND_ROWS

    سلام یه کوئری دارم به صورت زیر :

    SELECT SQL_CALC_FOUND_ROWS tag, COUNT( tag ) AS count
    FROM _tags
    GROUP BY tag
    ORDER BY count DESC
    LIMIT 100


    این کوئری تعداد تگها رو بر میگردونه میخوام بگم اونایی که تعداد تگهاش 1 هست روپاک کنه چجور میتونم روی count شرط بزارم؟

  2. #2

    نقل قول: ایجاد شرط برای SQL_CALC_FOUND_ROWS

    برای SELECTمیتونید از HAVING استفاده کنید. HAVING در واقع یه WHERE رو نتیجه‌ی کوئریه:
    SELECT SQL_CALC_FOUND_ROWS tag, COUNT( tag ) AS count
    FROM _tags
    GROUP BY tag
    HAVING count = 1
    ORDER BY count DESC
    LIMIT 100;

  3. #3

    نقل قول: ایجاد شرط برای SQL_CALC_FOUND_ROWS

    نقل قول نوشته شده توسط امیـرحسین مشاهده تاپیک
    برای SELECTمیتونید از HAVING استفاده کنید. HAVING در واقع یه WHERE رو نتیجه‌ی کوئریه:
    SELECT SQL_CALC_FOUND_ROWS tag, COUNT( tag ) AS count
    FROM _tags
    GROUP BY tag
    HAVING count = 1
    ORDER BY count DESC
    LIMIT 100;
    ممنون از پاسختون كار ميكنه به درستي فقط يه سوال
    الان ميخوام همين شرطو براي پاك كردن بزارم ولي كار نميكنه Delete روش ديگه اي داره ؟
    آخرین ویرایش به وسیله afsharjowkar : پنج شنبه 30 خرداد 1392 در 10:18 صبح

  4. #4

    نقل قول: ایجاد شرط برای SQL_CALC_FOUND_ROWS

    DELETE FROM _tags
    WHERE id IN (
    SELECT id, COUNT(tag) AS count
    FROM _tags
    GROUP BY tag
    HAVING count = 1
    ORDER BY count DESC
    LIMIT 100
    );

  5. #5

    نقل قول: ایجاد شرط برای SQL_CALC_FOUND_ROWS

    نقل قول نوشته شده توسط امیـرحسین مشاهده تاپیک
    DELETE FROM _tags
    WHERE id IN (
    SELECT id, COUNT(tag) AS count
    FROM _tags
    GROUP BY tag
    HAVING count = 1
    ORDER BY count DESC
    LIMIT 100
    );
    اين خطا رو ميده

    #1241 - Operand should contain 1 column(s)

  6. #6
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: ایجاد شرط برای SQL_CALC_FOUND_ROWS

    چون شما در قسمت شرط where id in فقط یک فیلد معرفی کرده اید ولی در قسمت مقایسه id, COUNT(tag) AS count دو فیلد وجود دارد طبیعی است که مقدار یک فیلد را نمی توان با دو فیلد همزمان مقایسه نمود

  7. #7

    نقل قول: ایجاد شرط برای SQL_CALC_FOUND_ROWS

    دستور COUNT رو میتونی توی HAVING بذاری و اون فیلد رو حذف کنی اگه ORDER BY اینا رو نمیخوای. در غیر اینصورت اینو تست کن
    DELETE FROM _tags
    WHERE id IN (
    SELECT id FROM (
    SELECT id, COUNT(tag) AS count
    FROM _tags
    GROUP BY tag
    HAVING count = 1
    ORDER BY count DESC
    LIMIT 100
    )
    );

  8. #8

    نقل قول: ایجاد شرط برای SQL_CALC_FOUND_ROWS

    اگه ارور alias گرفتی برای SELECT تویی alias بذار:
    DELETE FROM _tags
    WHERE id IN (
    SELECT id FROM (
    SELECT id, COUNT(tag) AS count
    FROM _tags
    GROUP BY tag
    HAVING count = 1
    ORDER BY count DESC
    LIMIT 100
    ) AS a
    );

  9. #9

    نقل قول: ایجاد شرط برای SQL_CALC_FOUND_ROWS

    اين كوئري رو زدم جواب داد

    DELETE dle_tags.* FROM dle_tags
    JOIN (
    SELECT tag FROM dle_tags GROUP BY tag HAVING COUNT(tag) = 1
    ) AS subq USING (tag)

تاپیک های مشابه

  1. مبتدی: ایجاد شرط برای data gride
    نوشته شده توسط babak6655 در بخش C#‎‎
    پاسخ: 13
    آخرین پست: دوشنبه 14 اسفند 1391, 22:30 عصر
  2. سوال: ایجاد شرط برای درج فایل
    نوشته شده توسط soroush.r70 در بخش PHP
    پاسخ: 6
    آخرین پست: جمعه 13 مرداد 1391, 18:33 عصر
  3. سوال: ایجاد شرط برای نمایش مقادیر در ریپورت
    نوشته شده توسط scorpion_sincity در بخش گزارش سازی با Crystal Report
    پاسخ: 1
    آخرین پست: سه شنبه 23 شهریور 1389, 11:19 صبح
  4. سوال: ایجاد شرط برای تغییر رنگ اطلاعات در جدول
    نوشته شده توسط mortezamhd در بخش Access
    پاسخ: 5
    آخرین پست: جمعه 29 آبان 1388, 19:00 عصر
  5. سوال: ایجاد شرط برای بیش از صد حالت
    نوشته شده توسط Mohammadv2 در بخش Access
    پاسخ: 3
    آخرین پست: پنج شنبه 26 اردیبهشت 1387, 09:05 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •