我有一个包含 pagehit(标准化)数据的表,我需要获取 10 个最新的唯一 ip。
我试着这样做:
SELECT * FROM spy_hits ORDER BY date desc GROUP BY ip LIMIT 10;
这应该给我这个结果:
+-----+------------+-----+---------+----+------+-- ----+---------+--------+--------+ | 编号 | 日期 | 知识产权 | 浏览器 | 操作系统 | 页 | 主持人 | 推荐人 | 查询 | 代理| +-----+------------+-----+---------+----+------+-- ----+---------+--------+--------+ | 第354章 1244442065 | 2 | 3 | 2 | 16 | 1 | 47 | 12 | 2 | | 311 | 1244442000 | 1 | 2 | 1 | 16 | 1 | 36 | 12 | 1 | +-----+------------+-----+---------+----+------+-- ----+---------+--------+--------+ 2 行(0.00 秒)
这是该网站的最新唯一身份访问者。
但我得到一个语法错误而不是那个结果。
所以我必须做这个查询:
SELECT * FROM spy_hits GROUP BY ip ORDER BY date desc LIMIT 10;
我以为没问题。但它给出了这个结果:
+-----+------------+-----+---------+----+------+-- ----+---------+--------+--------+ | 编号 | 日期 | 知识产权 | 浏览器 | 操作系统 | 页 | 主持人 | 推荐人 | 查询 | 代理| +-----+------------+-----+---------+----+------+-- ----+---------+--------+--------+ | 280 | 1242130841 | 2 | 3 | 2 | 16 | 1 | 47 | 12 | 2 | | 268 | 1242130818 | 1 | 2 | 1 | 16 | 1 | 36 | 12 | 1 | +-----+------------+-----+---------+----+------+-- ----+---------+--------+--------+ 2 行(0.00 秒)
但这会在分组后按日期设置顺序,因此它会抓取表中的第一个唯一 ip,它们也是最旧的。
所以表格是:
id --- 日期 268 1242130818(旧) | | 维维 354 1244442065(新)
但我希望它在我进行分组之前像这样:
id --- 日期 354 1244442065(新) ^ ^ | | 268 1242130818(旧)
我正在使用 PHP,所以如果有人知道如何使用 PHP 解决方案获得结果。
提前干杯:)