重复计数选择返回错误结果


Double Count Select return wrong result

你好,我正在使用下面的查询来显示行数,其中id是来自第一个表的相同数字,我有2个表。如果我只留下一个计数,一切都很好,但与双计数选择,我得到相同的结果,这是错误的:

'SELECT c.*, count(s.userID) as count_consulta, count(a.userID) as count_asesoria
   FROM users as c 
   LEFT JOIN consulta AS s ON s.userID = c.userID 
   LEFT JOIN asesoria AS a ON a.userID = c.userID
   GROUP BY c.userID DESC'

我得到了:

count_consulta = 15
count_asesoria = 15

count_consulta = 3
count_asesoria = 5

欢迎任何帮助。谢谢!

在声明"任何帮助都将是受欢迎的"的情况下,我把这个放在那里,看看它是否符合你的意思。

$sql="select *,
    ( select count( distinct s.`userID` ) from `consulta` ) as 'count_consulta',
    ( select count( distinct a.`userID` ) from `asesoria` ) as 'count_asesoria'
    from `users` c
        left outer join `consulta` s on s.`userID`=c.`userID`
        left outer join `asesoria` a on a.`userID`=c.`userID`
    group by c.`userID` desc;";