-1

帐户表中有 4 个不同的行。

我不明白为什么我的语句只返回 1 行。

SELECT *,
my_accounts.id as 'aid' 
FROM my_accounts 
LEFT JOIN my_availability on my_accounts.id = my_availability.the_account
LEFT JOIN my_reviews on my_accounts.id = my_reviews.the_reviewer
WHERE account_type = 1 
GROUP BY my_accounts.id

但是当我删除 GROUP BY 时,我得到 2 个相同的行。

此处的示例:sqlfiddle.com/#!2/e6f2c

4

2 回答 2

1

最好将 Group By 用于某些聚合函数。在 my_accounts.id 中给出两个不同的值并查看结果。根据您的说法,“当我删除 GROUP BY 时,我得到 2 个相同的行”。当有两个相同的值时,Group By 返回一个值。在您的情况下,my_accounts.id 中的两个值似乎相同。

于 2013-04-22T10:00:49.490 回答
0

原来是 acount_type 的 where 子句导致了我的剧情。我确实找到了一个聚合解决方案

于 2013-04-22T11:52:49.303 回答