2

条件付きのクエリに整数の行が必要 GROUPです。ここにクエリがあります

SELECT COUNT(*) AS `numrows`
FROM (`exp_channel_titles`)
LEFT JOIN `exp_category_posts` cp ON `cp`.`entry_id`=`exp_channel_titles`.`entry_id`
LEFT JOIN `exp_categories` c ON `cp`.`cat_id`=`c`.`cat_id`
LEFT JOIN `exp_internships_placements` ip ON `ip`.`entry_id`=`exp_channel_titles`.`entry_id`
LEFT JOIN `exp_members` m ON `m`.`member_id`=`exp_channel_titles`.`author_id`
WHERE `exp_channel_titles`.`site_id` =  '8'
AND `exp_channel_titles`.`channel_id` =  '7'
AND (title like '%%')
GROUP BY `exp_channel_titles`.`entry_id`

そして結果として

numrows
3
2
1
1
1
1
1
1
1
1
1
1

12 を取得する必要があります。条件を削除するGROUPと、正しくない 15 の結果が得られます。必要に応じて機能させる方法を教えてください。ありがとう。

4

1 に答える 1

2

を削除して代わりにGROUP BY選択します。COUNT(DISTINCT exp_channel_titles.entry_id)

SELECT COUNT(DISTINCT `exp_channel_titles`.`entry_id`) AS `numrows`
FROM (`exp_channel_titles`)
LEFT JOIN `exp_category_posts` cp ON `cp`.`entry_id`=`exp_channel_titles`.`entry_id`
LEFT JOIN `exp_categories` c ON `cp`.`cat_id`=`c`.`cat_id`
LEFT JOIN `exp_internships_placements` ip ON `ip`.`entry_id`=`exp_channel_titles`.`entry_id`
LEFT JOIN `exp_members` m ON `m`.`member_id`=`exp_channel_titles`.`author_id`
WHERE `exp_channel_titles`.`site_id` =  '8'
AND `exp_channel_titles`.`channel_id` =  '7'
AND (title like '%%')
于 2013-09-01T09:08:22.227 に答える