我有两张表一张为user表,字段id,name;另一张为Photos表,字段uid,url,其中uid即为user表中id。我想作如下查询:
得到每个人发的任意四张照片,sql语句如何编写。

解决方案 »

  1.   

    任意四张照片那就直接最文件名最大的四张。参考下贴中的多种方法http://blog.csdn.net/acmain_chm/article/details/4126306
    [征集]分组取最大N条记录方法征集,及散分....
      

  2.   

    select A.id,B.url
    from user A,photos B
    where A.id = B.uid
    and 4>(select count(*) from photos C where B.uid=C.uid and B.url>C.url)
      

  3.   

    SELECT a.id,a.Name,b.photos
    FROM  user a LEFT JOIN photos b on a.ID=b.cid 
    GROUP BY  a.id,a.Name
    HAVING COUNT(b.cid)<4
    ORDER BY a.ID,a.Name desc