table: A
id                      subid                   repid                   list                                        
107285395650033371 107285405187530057 107285411229665663-1 1,2,3,4
107285395650033371 107285395654674833 107285411229665663-1 2
107285395650033371 107285405187530057 107285410476579799-1 1,2,3,4
107285395650033371 107285395654674833 107285410476579799-1 4
107285395650033371 107285405187530057 107285409789069916-1 1,2,3,4
107285395650033371 107285395654674833 107285409789069916-1 3
107285395650033371 107285395654674833 107285411712543935-1 1
107285395650033371 107285405187530057 107285411712543935-1 1,2
107285395650033371 107285395654674833 107285412434365661-1 2
107285395650033371 107285405187530057 107285412434365661-1 1,2,3
107285395650033371 107285395654674833 107285412762511814-1 1
107285395650033371 107285405187530057 107285412762511814-1 1
107285395650033371 107285395654674833 107285413207864038-1 1
107285395650033371 107285405187530057 107285413207864038-1 1,2
107285395650033371 107285395654674833 107285592434346849-1 4
107285395650033371 107285405187530057 107285592434346849-1 1,2
107285395650033371 107285395654674833 107285596120389592-1 4
107285395650033371 107285405187530057 107285596120389592-1 1,2
107285395650033371 107285395654674833 107285596640683854-1 4
107285395650033371 107285405187530057 107285596640683854-1 1,2结果:
107285395650033371 107285395654674833 107285592434346849-1 4
107285395650033371 107285405187530057 107285592434346849-1 1,2
107285395650033371 107285395654674833 107285596120389592-1 4
107285395650033371 107285405187530057 107285596120389592-1 1,2
107285395650033371 107285395654674833 107285596640683854-1 4
107285395650033371 107285405187530057 107285596640683854-1 1,2

解决方案 »

  1.   

    改一下上面看不清楚.
    table: A
    id     subid        repid                   list                                        
    1111 222         107285411229665663-1 1,2,3,4
    1111 333         107285411229665663-1 2
    1111 222         107285410476579799-1 1,2,3,4
    1111 333         107285410476579799-1 4
    1111 222         107285409789069916-1 1,2,3,4
    1111 333         107285409789069916-1 3
    1111 333         107285411712543935-1 1
    1111 222         107285411712543935-1 1,2
    1111 333         107285412434365661-1 2
    1111 222         107285412434365661-1 1,2,3
    1111 333         107285412762511814-1 1
    1111 222         107285412762511814-1 1
    1111 333         107285413207864038-1 1
    1111 222         107285413207864038-1 1,2
    1111 333         107285592434346849-1 4
    1111 222         107285592434346849-1 1,2
    1111 333         107285596120389592-1 4
    1111 222         107285596120389592-1 1,2
    1111 333         107285596640683854-1 4
    1111 222         107285596640683854-1 1,2结果:
    1111 333         107285592434346849-1 4
    1111 222         107285592434346849-1 1,2
    1111 333         107285596120389592-1 4
    1111 222         107285596120389592-1 1,2
    1111 333         107285596640683854-1 4
    1111 222         107285596640683854-1 1,2
      

  2.   

    A:
    不太好处理,
    只能先得到所有记录数,
    然后 ....
    SELECT * FORM .. LIMIT 96,4
    B:
    如果 repid 是顺序的.那也可以这样SELECT * FROM .. ORDER BY id,subid,repid DESC LIMI 4
      

  3.   

    1111 222         107285411229665663-1 1,2,3,4
    1111 333         107285411229665663-1 2
    1111 222         107285410476579799-1 1,2,3,4
    1111 333         107285410476579799-1 4
    1111 222         107285409789069916-1 1,2,3,4
    1111 333         107285409789069916-1 3
    1111 333         107285411712543935-1 1
    1111 222         107285411712543935-1 1,2
    1111 333         107285412434365661-1 2
    1111 222         107285412434365661-1 1,2,3
    1111 333         107285412762511814-1 1
    1111 222         107285412762511814-1 1
    1111 333         107285413207864038-1 1
    1111 222         107285413207864038-1 1,2
    1111 333         107285592434346849-1 4
    1111 222         107285592434346849-1 1,2
    1111 333         107285596120389592-1 4
    1111 222         107285596120389592-1 1,2
    1111 333         107285596640683854-1 4
    1111 222         107285596640683854-1 1,2
    字段名分别为:id subid  repid  list
    这是所有的记录,可能还有其它记录很多。
    写一sql语句,要求得到如下记录
    1111 333         107285592434346849-1 4
    1111 222         107285592434346849-1 1,2
    1111 333         107285596120389592-1 4
    1111 222         107285596120389592-1 1,2
    1111 333         107285596640683854-1 4
    1111 222         107285596640683854-1 1,2不好写吗?
      

  4.   

    select * form A where subid="333" or subid="222" and list="4" or list="1,2"
    这样写不行,因为还可以查出除了以上六条以外的其它三条,而我只想要六条。怎么写?
      

  5.   

    如果这种需求不经常有,就手工建一些临时表,用表连接处理掉吧!
    要是常有的话,说明你的表涉及的不怎么出色哦!考虑一下表结构吧;Sp虽然也能实现,但如果设计出的表结构不够出色的话,一样炼不到大师级哦!数据库结构的设计,对数据库的性能,的影响,甚至超过了SQL语句本身对数据库的影响
      

  6.   

    HadesX
    你说的很对.呵呵.我这样描述一下我的问题吧.
    字段名分别为:id subid  repid  list
    现有的数据库记录
    1111 222         107285411229665663-1 1,2,3,4
    1111 333         107285411229665663-1 2
    1111 222         107285410476579799-1 1,2,3,4
    1111 333         107285410476579799-1 4
    1111 222         107285409789069916-1 1,2,3,4
    1111 333         107285409789069916-1 3
    1111 333         107285411712543935-1 1
    1111 222         107285411712543935-1 1,2
    1111 333         107285412434365661-1 2
    1111 222         107285412434365661-1 1,2,3
    1111 333         107285412762511814-1 1
    1111 222         107285412762511814-1 1
    1111 333         107285413207864038-1 1
    1111 222         107285413207864038-1 1,2
    1111 333         107285592434346849-1 4
    1111 222         107285592434346849-1 1,2
    1111 333         107285596120389592-1 4
    1111 222         107285596120389592-1 1,2
    1111 333         107285596640683854-1 4
    1111 222         107285596640683854-1 1,2我要从数据中检索出满足条件的数据
    比如这些数据是描述一篇问卷的. id表示问卷的id号 id=1111说明为一份问卷
    subid 表是问卷的问题,subid=222和subid=333表示有两道问题.
    repid 表示回答问题的人的id ,这里就不列出来了.
    list 表示问题的答案
      

  7.   

    如果我要查询第一题subid=333,答案为4的问卷有多少人回答.我可以这样写 
    select count(replid) from a where subid=333 and answerlist=4
    这样就可以得到要的结果:4同样得到,第二题subid=222,答案为1,2的有多少人回答(多少份问卷)
    select count(replid) from a where subid=222 and answerlist=1,2
    结果为5我现在要得到同时满足这两个条件的问卷有多少人回答?该怎么写?
      

  8.   

    朋友的电脑没装任何数据库,没法验证,说错了不要见怪!帮我试一试这句
    select count(*) from table where (subid=333 and answerlist=4) or (subid=222 or answerlist=1,2)