如何在不重复其中一个字段的情况下查询mysql数据库

时间:2014-06-01 08:42:55

标签: php mysql

这是我目前的代码:

<?php 
    $tsql = "  ";
    $tmpsort   = " ORDER BY b.flag,b.jjloveb DESC,b.yhtime ";
    $rt=$db->query("SELECT a.nickname, a.sex, a.grade, a.photo_s, a.photo_f, a.photo_pass, b.id,b.userid, b.datingkind, b.title, b.price, b.yhtime, b.maidian, b.content, b.bmnum, b.click, b.flag, b.jjloveb, a.birthday, b.province, b.city, b.area, b.age1, b.datingkind, a.identityproof
    FROM ".__TBL_MAIN__." a,".__TBL_DATING__." b
    WHERE $tsql b.flag>0 AND b.userid=a.id AND a.flag=1
    $tmpsort
    LIMIT 6");
    $total = $db->num_rows($rt);
    for($i=0;$i<$total;$i++) {
    $rows = $db->fetch_array($rt);
            if(!$rows) break;
            $Uid = $rows[7];
            $Unickname = badstr($rows[0]);
            $Usex      = $rows[1];

我想要的是只从同一用户ID获取一次记录。

非常感谢!

2 个答案:

答案 0 :(得分:0)

$rt=$db->query("SELECT   a.nickname,a.sex,a.grade,a.photo_s,a.photo_f,a.photo_pass,b.id,b.userid,b.datingkind,b.title,b.price,b.yhtime,b.maidian,b.content,b.bmnum,b.click,b.flag,b.jjloveb,a.birthday,b.province,b.city,b.area,b.age1,b.datingkind,a.identityproof FROM ".__TBL_MAIN__." a,".__TBL_DATING__." b WHERE $tsql b.flag>0 AND b.userid=a.id AND a.flag=1 group by b.userid $tmpsort LIMIT 6");

我通过插入一个组来实现我想要的。呀!

但是,如果需要每个用户标识出现2次,应该采取什么方法?

答案 1 :(得分:-1)

你想在SQL的末尾LIMIT 1吗?

如果没有,你可以在你的问题上再扩展一点吗?