我有一个SQL查询,用于检索挂帖列表
$qry=mysql_query("SELECT senderid,post,date FROM ".post_table." WHERE id='".$mydata->id."' ORDER BY time DESC LIMIT 0, 20");
这很好用。但我现在有一个问题:
如果用户同时发布20个帖子,则第一个列表将仅显示其帖子。但我想在第一个列表中显示一个用户的1个帖子。所以我试图使用以下声明:
$qry=mysql_query("SELECT senderid,post,date FROM ".post_table." WHERE id='".$mydata->id."' ORDER BY time DESC, DISTINCT(senderid) LIMIT 0, 20");
根本不起作用。 请帮帮我怎样才能做到?
答案 0 :(得分:1)
你以错误的方式使用distinct
SELECT DISTINCT senderid,post,date FROM {post_table} WHERE id='{id}' ORDER BY time DESC LIMIT 0, 20;
答案 1 :(得分:0)
在select子句中使用distinct而不是where。尝试
$qry=mysql_query("SELECT DISTINCT senderid,post,date FROM ".post_table." WHERE id='".$mydata->id."' ORDER BY time DESC LIMIT 0, 20");