Hirdetés

Új hozzászólás Aktív témák

  • Taci

    addikt

    válasz sztanozs #5140 üzenetére

    Ha az általad írt lekérdezés által visszaadott össz-elemszámot szeretném megtudni (a belső limit nélkül - hogy később tudjak vele számolni, a belső limit meddig nyújtózkodhat - szóval a belső Select-et ezért veszem ki, plusz ugye nem kell rendezni sem (Order By), és a végén lévő Limit sem kell)), akkor jelen tudásom szerint azt így kérdezném:

    SELECT COUNT(*) AS result_count FROM
    (SELECT i.item_id FROM items AS i 
    INNER JOIN items_categories AS c ON i.item_id=c.item_id
    WHERE 
      c.category_id NOT IN (1,3,13,7,20) AND
      i.item_id NOT IN (117,132,145,209,211)
    GROUP BY i.item_id) AS t

    Van esetleg ennek hatékonyabb, gyorsabb, jobb módja?

    Ezt találtam még:
    SELECT COUNT(DISTINCT item_id) AS result_count FROM
    (SELECT i.item_id FROM items AS i
    INNER JOIN items_categories AS c ON i.item_id=c.item_id
    WHERE
    c.category_id NOT IN (1,3,13,7,20) AND
    i.item_id NOT IN (117,132,145,209,211)) AS t

    Itt elvileg a Distinct kiváltja a Group By-t.

    Viszont sajnos Count-hoz a phpMyAdmin nem ír lekérdezési időt, így nem tudom, melyik a gyorsabb. Vagy jobb.

    Ebben kérnék tanácsot.
    Köszönöm.

Új hozzászólás Aktív témák