0

重複の可能性:
メインクエリからサブクエリにカウントを選択する方法

メインクエリで選択されたレコードの数をサブクエリに取得したい

私が現在実行しようとしているクエリは次のとおりです。

SELECT
    cat_id,
    category_name,
    seo_name,
    (
        SELECT count(category_name)
        FROM ccs_coupons
        WHERE website_name LIKE category_name
           OR description LIKE category_name
           OR url_desc LIKE category_name
    )  AnyAlias 
FROM  `ccs_coupons`
WHERE  category_name like 'a%'
GROUP BY category_name
ORDER BY category_name ASC
LIMIT $page,$config
4

2 に答える 2

0

これを試して:

SELECT
    cat_id,
    category_name,
    seo_name,
    (
        SELECT COUNT(category_name)
        FROM ccs_coupons c2 
        WHERE c2.category_name LIKE CONCAT('%', c1.category_name, '%')
           OR c2.website_name LIKE CONCAT('%', c1.category_name, '%')
           OR c2.description LIKE CONCAT('%', c1.category_name, '%')
           OR c2.url_desc LIKE CONCAT('%', c1.category_name, '%')
    )  AnyAlias 
FROM  `ccs_coupons` c1 
WHERE  category_name LIKE 'a%'
GROUP BY category_name
ORDER BY category_name ASC
LIMIT $page,$config
于 2013-01-16T12:02:24.847 に答える
0

あなたは試すことができます:

SELECT 
  a.cat_id
  ,a.category_name
  ,a.seo_name
  ,count(b.cat_id) as count
FROM 
  ccs_coupons as a
  INNER JOIN ccs_coupons as b
  ON  website_name = category_name
         OR description = category_name
         OR url_desc = category_name
WHERE 
  category_name like 'a%' 
GROUP BY 
  a.cat_id
  ,a.category_name
  ,a.seo_name 
ORDER BY 
  category_name ASC 
LIMIT 
  $page,$config

私はあなたが何をしようとしているのか100%確信していませんが..カウントを行う前に、ある種の一意の制約を行う必要があるかもしれません

于 2013-01-16T12:04:43.180 に答える