我有两个表,一个包含我的联系人信息(contact
),另一个包含用户互动(notitia
)。
这是一个例子:
SELECT n.contact_id, c.email, c.numero, c.code_postal, n.nbr_click, n.nbr_ouverture,
(
n.nbr_click * 2
)
+
(
n.nbr_ouverture * 3
)
as total FROM notitia n LEFT JOIN contact c ON c.id = n.contact_id LIMIT 5
结果是:
现在我正在尝试nbr_click
,nbr_ouverture
和total
的和,如果contact_id
是相同的,在我的例子中我们有{{1}的2倍因此结果应该是:
我尝试contact_id
:
GROUP BY n.contact_id
但是这里只有第一行的contact_id = 3
我也尝试过SUM:
SELECT n.contact_id, c.email, c.numero, c.code_postal, n.nbr_click, n.nbr_ouverture,
(
n.nbr_click * 2
)
+
(
n.nbr_ouverture * 3
)
as total FROM notitia n LEFT JOIN contact c ON c.id = n.contact_id GROUP BY n.contact_id LIMIT 5
但是这里的所有内容都在行中添加了巨大的结果
答案 0 :(得分:1)
你应该把你写的两个查询混合起来。您应该GROUP BY contact_id然后将SUM应用于您需要SUM的列。试试这个:
SELECT n.contact_id,
c.email, c.numero, c.code_postal, SUM(n.nbr_click), SUM(n.nbr_ouverture),
(
SUM(n.nbr_click) * 2
)
+
(
SUM(n.nbr_ouverture) * 3
)
as total FROM notitia n
LEFT JOIN contact c ON c.id = n.contact_id
GROUP BY n.contact_id LIMIT 5