实际上,数学似乎并没有加起来。
这是我正在使用的查询和我正在尝试访问的 2 个表(包含所有真实数据)。
SQL 中的此查询将Steve Smith
获得 27 个 sum 和 27 个amount
. 它应该是 17。在同一个查询中,它显示John Smith
有 4 个总和和 2 个计数amount
。
SELECT
user.*,
IFNULL(SUM(collection.amount), 0) AS usertotal,
COUNT(collection.amount) AS userunique
FROM user
LEFT JOIN collection
ON user.id = collection.userid
GROUP BY collection.amount`
表1(命名user
):
id | firstname | lastname | username | email
1 | Steve | Smith | SteveS | Steve@Smith.com
2 | John | Smith | JohnSmith| John@Smith.com
表2(命名collection
):
id|userid|carid |amount
1 1 74 1
10 2 130 1
11 2 48 1
12 2 414 1
13 2 415 1
14 2 66 1
15 2 404 1
16 2 57 2
17 2 331 1
18 2 264 1
19 2 325 1
20 2 51 2
21 2 185 1
24 1 168 1
25 1 11 1
26 1 315 1
27 1 51 1
28 1 210 1
29 1 433 1
30 1 434 1
31 1 460 1
32 1 75 1
33 1 238 1
34 1 226 1
35 1 396 1
36 1 174 1
37 1 12 1
38 1 328 1
39 1 4 1
id| UN | Amount
1 | 4 | 457
2 | 4 | 28
3 | 2 | 234
4 | 1 | 235
5 | 2 | 1
我需要一个查询来获取用户名的整个列表,以及 user.id 和 collection.UN 之间的内部连接(在数量列上使用 sum 和 count)
我不知道 SQL 查询,一辈子都搞不清楚。帮助?
谢谢,