Я предполагаю, что ваше URL
поле в таблице visitorLog
является Foreign_key и целочисленным полем.
SELECT v1.VisitorID, COUNT(v1.VisitorID) AS TotalVisits
FROM `VisitorLog` v1, ?? as v2
WHERE v1.URL = v2.URL_ID
AND v2.URL NOT LIKE "%page=checkout%"
GROUP BY VisitorID
Насколько я понимаю, например.
id visitor_id datetime page
1 1 Nov4 about us
2 1 Nov4 contact us
3 2 Nov4 about us
4 2 Nov3 about us
5 2 Nov4 home
6 1 Nov4 home
select visitor_id, count(id) as numberofvisits
FROM visit_table_transaction
WHERE datetime = "Nov4"
GROUP BY visitor_id
HAVING numberofvisits > 2
So the result is
visitor_id numberofvisits
1 3
Зачем вам нужноиспользуйте having
, потому что агрегатную функцию нельзя использовать в WHERE
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
Вы также можете написать так
select visitor_id, count(id) as numberofvisits
FROM visit_table_transaction
WHERE datetime = "Nov4"
GROUP BY visitor_id
HAVING count(id) > 2
Ниже это неправильно
select visitor_id, count(id) as numberofvisits
FROM visit_table_transaction
WHERE datetime = "Nov4"
AND count(id) > 2
GROUP BY visitor_id
Любой, пожалуйста, поправьте меня, если я ошибаюсь.Спасибо.