mysql_query("
SELECT
b.id as b_id
FROM
banner b
INNER JOIN
bannerhits bl
ON
b.id = bl.bannerid
AND
bl.userid = '".$this->userid."'
INNER JOIN
bannerhits blog
ON
b.id = blog.bannerid
INNER JOIN
bannerklik bk
ON
b.id = bk.bannerid
WHERE
(
b.placement = '".$place."'
AND
(
b.usertype = '".$usertype."'
OR
b.usertype = ''
)
AND
b.userpostalcode LIKE ',".$postcode.",'
AND
(
b.userage LIKE ',".$ageYears.",'
OR
b.userage IS NULL
)
AND
(
b.maxviewsprday > count(bl.id)
OR
b.maxviewsprday IS NULL
)
AND
b.maxhits > count(blog.id)
AND
b.maxklik > count(bk.id)
".$ubid."
)
OR
remainingshow = '1'
GROUP BY
bl.id,
bk.id,
blog.id
ORDER BY
remainingshow ASC
LIMIT 1
");
你好..这告诉我,这是“无效使用组功能”..我想做的是确保,当我计算我的日志以获取横幅的点击和显示时,必须有更少的行日志中的bannerid=b.id,比字段b.maxklik 和b.maxhits 说的(所以我可以为横幅设置例如6000 次点击或50000 次显示)..
你能帮助一个应该工作的mysql查询吗?
编辑2:同样的错误
SELECT
bl.id as bl_id,
bk.id as bk_id,
blog.id as blog_id
FROM
banner b
INNER JOIN
bannerhits bl
ON
b.id = bl.bannerid
AND
bl.userid = '".$this->userid."'
INNER JOIN
bannerhits blog
ON
b.id = blog.bannerid
INNER JOIN
bannerklik bk
ON
b.id = bk.bannerid
WHERE
(
b.placement = '".$place."'
AND
(
b.usertype = '".$usertype."'
OR
b.usertype = ''
)
AND
b.userpostalcode LIKE ',".$postcode.",'
AND
(
b.userage LIKE ',".$ageYears.",'
OR
b.userage IS NULL
)
AND
(
b.maxviewsprday > count(bl.id)
OR
b.maxviewsprday IS NULL
)
AND
b.maxhits > count(blog.id)
AND
b.maxklik > count(bk.id)
".$ubid."
)
OR
remainingshow = '1'
GROUP BY
b.id,
bl.id,
bk.id,
blog.id
ORDER BY
remainingshow ASC
LIMIT 1
编辑 3:
SELECT
b.id as b_id,
b.maxhits as b_maxhits,
b.maxklik as b_maxkli,
b.maxviewsprday as b_maxviewsprday
FROM banner b
JOIN
bannerhits bl
ON
b.id = bl.bannerid
AND
bl.userid = '".$this->userid."'
JOIN
bannerhits blog
ON
b.id = blog.bannerid
JOIN
bannerklik bk
ON
b.id = bk.bannerid
WHERE
(
b.placement = '".$place."'
AND
b.usertype IN ('".$usertype."', '')
AND
b.userpostalcode LIKE ',".$postcode.",'
AND
(
b.userage LIKE ',".$ageYears.",'
OR
b.userage IS NULL
)
AND
b.maxviewsprday IS NULL
)
OR
b.remainingshow = '1'
GROUP BY
bl.id,
bk.id,
blog.id
HAVING
(b.maxhits > count(blog.id) OR b.maxhits = '0')
AND
(b.maxklik > count(bk.id) OR b.maxklik = '0')
AND
(b.maxviewsprday > count(bl.id) OR b.maxviewsprday = '0')
ORDER BY
b.remainingshow ASC
LIMIT
1