具有Join和Count的MYSQL数据库查询

时间:2014-08-07 07:32:07

标签: mysql sql

我有一个名为tblad_clicks的Mysql表,用于跟踪网站上广告的点击次数。我还有一个名为tblprofiles的表,其中存储了用户数据。

我需要查询数据库以选择不同的CLIENTID(标识符以了解广告所属的人)。然后我还需要选择大于0的profileid,我认为那是tblad_clicks表的那个。然后我需要加入来自profileid的{​​{1}}与来自tblad_clicks的{​​{1}}来获取profileid,然后我需要加入tblprofiles得到ZONE_ID

以下是表格和列的列表:

(1) tblad_clicks

  • 的clickId
  • 的clientid
  • 简档

(2) tblprofiles

  • 简档
  • zone_id

(3) tblzones

  • 了zoneid
  • ZONE_NAME

这些表中有更多列,但我只共享了必需的列名。

我不确定你是否收到我,但实质上我需要看看每个地区有多少人点击了每个客户的广告

提前谢谢

3 个答案:

答案 0 :(得分:0)

试试这个:

Select c.clientid, c.clickid, z.zoneid, z.zone_name from tblad_clicks as c inner join tblprofiles as p on p.profileid = c.profileid inner join tblzones as z on z.zoneid = p.zone_id group by c.clientid, c.clickid, z.zoneid

答案 1 :(得分:0)

试试这个: -

SELECT A.clientid, A.profileid,
       B.zone_ID, C.zone_name
FROM tblad_clicks A
INNER JOIN tblprofiles B ON A.profileid = B.profileid
INNER JOIN tblzones C ON B.zone_id = C.zoneid
WHERE A.profileid > 0;

答案 2 :(得分:0)

SELECT a.clientid,z.zone_name,COUNT(*)
FROM tblad_clicks a
JOIN tblprofiles p ON p.profileid=a.profileid
JOIN tblzones z ON z.zoneid=p.zone_id
GROUP BY clientid,z.zone_name
HAVING COUNT(*)>0