如何在忽略重复字段值的情况下从表中选择行?
这是一个例子:
id user_id message
1 Adam "Adam is here."
2 Peter "Hi there this is Peter."
3 Peter "I am getting sick."
4 Josh "Oh, snap. I'm on a boat!"
5 Tom "This show is great."
6 Laura "Textmate rocks."
我想要实现的是从我的数据库中选择最近活跃的用户。假设我想选择 5 个最近活跃的用户。问题是,下面的脚本选择了 Peter 两次。
mysql_query("SELECT * FROM messages ORDER BY id DESC LIMIT 5 ");
我想要的是当它再次到达彼得时跳过该行,并选择下一个结果,在我们的例子中是亚当。所以我不想再次向我的访问者显示最近活跃的用户是 Laura、Tom、Josh、Peter 和 Peter。这没有任何意义,相反,我想以这种方式向他们展示:劳拉、汤姆、乔希、彼得、(跳过彼得)和亚当。
有没有我可以用来解决这个问题的 SQL 命令?
最佳答案
是的。 “不同”。
SELECT DISTINCT(user_id) FROM messages ORDER BY id DESC LIMIT 5
关于SQL:如何在忽略重复字段值的同时从表中选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4682621/