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 
  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 回答
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 回答