0
我有一個user_profile_view表用戶:MySQL - 獲得最近的用戶訪問。只顯示一次
的定義如下:
+------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| user_id | bigint(20) | NO | MUL | NULL | |
| viewer_id | bigint(20) | NO | MUL | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+------------+------------+------+-----+---------+----------------+
我試圖獲取最新的考察,但我只想要一次顯示用戶
一個簡單的查詢,如這將返回上一個配置文件最近訪問:
SELECT v.* FROM user_profile_view v
WHERE v.user_id != 1 AND v.viewer_id = 1
ORDER BY created_at DESC LIMIT 0,10;
結果集:
+-----+---------+-----------+---------------------+---------------------+
| id | user_id | viewer_id | created_at | updated_at |
+-----+---------+-----------+---------------------+---------------------+
| 946 | 19 | 1 | 2011-10-05 19:20:19 | 2011-10-05 19:20:19 |
| 945 | 19 | 1 | 2011-10-05 19:16:15 | 2011-10-05 19:16:15 |
| 944 | 2 | 1 | 2011-10-05 19:12:02 | 2011-10-05 19:12:02 |
| 943 | 13 | 1 | 2011-10-05 19:11:45 | 2011-10-05 19:11:45 |
| 942 | 19 | 1 | 2011-10-05 19:10:41 | 2011-10-05 19:10:41 |
| 941 | 2 | 1 | 2011-10-05 19:06:35 | 2011-10-05 19:06:35 |
| 940 | 19 | 1 | 2011-10-05 18:53:04 | 2011-10-05 18:53:04 |
| 939 | 19 | 1 | 2011-10-05 18:51:56 | 2011-10-05 18:51:56 |
| 938 | 19 | 1 | 2011-10-05 18:46:59 | 2011-10-05 18:46:59 |
| 937 | 20 | 1 | 2011-10-05 18:42:35 | 2011-10-05 18:42:35 |
+-----+---------+-----------+---------------------+---------------------+
但是我只是想回報用戶一次。因此,如果我最近查看了3次用戶配置文件,我只想要最近訪問該配置文件,然後顯示我之前訪問過的下一個用戶。
這應該是微不足道的,但由於某種原因,我卡住了。
謝謝大家!
太棒了!謝謝!我不知道每個組的問題。現在我知道了,謝謝你的啓發和非常感謝你的答案!正是我需要的。祝你有美好的一天 :-) – Flukey