请问一个关于php+mysql的有关问题

WBOY
Release: 2016-06-13 12:05:55
Original
802 people have browsed it

请教一个关于php+mysql的问题
要在一个表中查询数据,条件是uid in (1,2,3)。那么满足uid=1或者2或者3的都查询到。
如何做到每满足一个条件只取一条?
例如uid为1,2,3分别都几条,通过sql查询,只查询uid为1的第一条,uid为2的第一条,uid为3的第一条。
------解决方案--------------------
首先你的数据当中必须有一个id,一个uid

查询uid为1,2,3分别都几条:(假定表名为'user',表中只有两个字段,分别为id和uid)

<br />select id,count(uid) from user group by uid having uid=1 or uid=2 or uid =3;<br />
Copy after login


查询uid为1的第一条:

<br />select * from user where uid=1 limit 1;<br />
Copy after login

------解决方案--------------------
你可以 对查询出来的结果集 在分组 取一条
------解决方案--------------------
select * from tbl_name a <br /> where (select count(*) from tbl_name where uid=a.uid and id<a.id) = 1 and uid in (1,2,3)
Copy after login

------解决方案--------------------
每个条件只取一条:
 select * from tt where uid in(1,2,3) group by uid ;
------解决方案--------------------
select  a.*  from  table a where  1> (select count(1) from table b where a.id = b.id and a.id > b.id ) and a.uid in (1,2,3)
------解决方案--------------------
select top 1 * from table group by  id 
------解决方案--------------------
group by 可以实现

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template