ホームページ  >  記事  >  バックエンド開発  >  php+mysqlについて質問する

php+mysqlについて質問する

WBOY
WBOYオリジナル
2016-06-23 13:50:36903ブラウズ

テーブル内のデータをクエリするには、条件は uid in (1,2,3) です。その後、uid=1、2、または 3 を満たすすべてのクエリを実行できます。
各条件に対して項目を 1 つだけ選択するにはどうすればよいですか?
たとえば、uid 1、2、および 3 の項目が複数ある場合、SQL クエリでは、uid 1 の最初の項目、uid 2 の最初の項目、および uid 3 の最初の項目のみがクエリされます。


ディスカッションに返信 (解決策)

まず第一に、データには ID と UID が必要です

それぞれ 1、2、3 の UID の数をクエリします: (テーブル名が 'user であると仮定します) '、テーブルには id と uid の 2 つのフィールドしかありません)

select id,count(uid) from user group by uid having uid=1 or uid=2 or uid =3;


uid 1 を持つ最初の項目をクエリします:

select * from user where uid=1 limit 1;

クエリの結果セットをグループ化し、それぞれ 1 つの

select * from tbl_name a  where (select count(*) from tbl_name where uid=a.uid and id<a.id) = 1 and uid in (1,2,3)

を取得できます。条件は 1 つだけ取られます:
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 と a.id > b.id ) と (1,2,3) の a.uid

ID によるグループ化テーブルから上位 1 つを選択

グループ化が可能

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。