其實數學似乎沒有加起來。SQL查詢加入一個計數並從另一個表的平均值
這裏是我正在使用的查詢和我試圖訪問的2表(所有真實數據)。
SQL中的這個查詢拉Steve Smith
有27個總數和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 | [email protected]
2 | John | Smith | JohnSmith| [email protected]
表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
我不知道SQL查詢,不知道爲什麼我的生活。幫幫我?
感謝,
這解決它完美的我。萬分感謝! – Andrew 2013-04-25 05:48:02
數學實際上並不加起來。我會更新我的原始文章並解釋。 – Andrew 2013-04-25 08:32:18
「SUM」工作正常嗎?而對於'COUNT'的問題,我猜這是因爲它也計算了空值。我現在要解決一個問題。 – 2013-04-25 11:48:36