【发布时间】:2017-11-20 02:00:42
【问题描述】:
我在编写 select 时遇到了麻烦,因为我可以为每个唯一的行获取多个计数,我已经搜索了整个网络并编写了 select,但它没有按照我想要的方式工作。 所以,我有两张表横幅和横幅历史
banners
Id UserId BannerName
167 35 Polly
168 35 Joke
169 21 Kim
170 35 Buck
................
BannerHistory
BannerId UserId IP
167 35 123asd123
167 35 123asd123
168 35 BBB123sss
.......................
So my query is:
SELECT
banners.Banner_Name,
banners.Counter,
banners.ClickCounter,
COUNT(DISTINCT(bannerhistory.Ip))
FROM
bannerhistory
INNER JOIN
banners
ON bannerhistory.BannerId = banners.ID
WHERE
bannerhistory.BannerId IN
(
SELECT
bannerhistory.BannerId
FROM
bannerhistory
WHERE
bannerhistory.UserId = $ UserId
)
GROUP BY
banners.Banner_Name
我想获取 userId 广告的所有bannerNames 我想分别计算每个横幅的不同 IP。我的代码不起作用,因为计数它为每个横幅获得了不同的第一个横幅(计数(Ip)),我的意思是几乎总是计数是相同的。任何人都可以帮助纠正我的查询吗?或者告诉我不同的方法。
不用担心 counter 和 clickcounter 列,它们在 banners 表中没有什么可计算的,只需获取它们即可。
对不起我的英语。
【问题讨论】: