我有一张表格,其中包含users
和pages
。
我可能有用户user1
访问过网页:index.php
3次,'test.php'4次。
然后用户user2
访问了网页:index.php
6次,'test.php'10次。
我想要做的是按顺序显示用户访问量最大的页面。
任何想法? 感谢
编辑:表架构。表名findme
talentnum | page_name
user1 | test.php
user1 | test.php
user1 | index.php
user2 | test.php
user3 | index.php
答案 0 :(得分:2)
这样的事情:
SELECT
TALENTNUM,
PAGE_NAME,
COUNT(*) AS CNT
FROM FINDME
GROUP BY TALENTNUM, PAGE_NAME
ORDER BY CNT DESC
答案 1 :(得分:1)
不知道你的表架构:
SELECT user, page, count(*)
FROM users u
JOIN page p
ON u.user_id = p.user_id
GROUP BY user, page
ORDER BY user, page DESC;
答案 2 :(得分:1)
每当用户加载页面时,在表中插入一行以记录他的ID和访问过的页面。然后,您可以运行SQL查询
SELECT talentnum,page_name,COUNT(page_name) FROM findme
GROUP BY talentnum,page_name
ORDER BY COUNT(page_name) DESC