[英]How to select rows with similar entries in a column? MySQL
我有一張桌子
桌子
4c4fedf7 OMoy3Hoa
4c4fedf7 yiWDGB4D
broe4AMb A9rLRawV
broe4AMb mi9rLmZW
nhrtK9ce yEsBoYLj
rEEtK9gt A9rLRawV
rEEtK9gt mi9rLmZW
rEEtK9Hh A9rLRawV
rEEtK9Hh msBWz8CQ
我有一個輸入,如A9rLRawV
, mi9rLmZW
。 我想要類似的輸出;
broe4AMb
rEEtK9gt
但是我得到類似的輸出;
broe4AMb
rEEtK9gt
rEEtK9Hh
我的查詢就像;
SELECT DISTINCT prodid
FROM tablea
WHERE tagid IN ('A9rLRawV','mi9rLmZW');
這是SQL小提琴http://sqlfiddle.com/#!9/12223/2/0
我認為它需要自我加入。 什么是最“有效”的方法? 我怎樣才能解決這個問題?
select a.prodid from(
SELECT prodid
FROM tablea
group by prodid, tagid
having tagid IN ('A9rLRawV') or tagid in('mi9rLmZW')) a
group by prodid
having count(*) = 2
如果我得到您想要的數據,請嘗試以下操作:
SELECT DISTINCT prodid
FROM tablea
WHERE tagid = 'mi9rLmZW' AND tagid = 'A9rLRawV';
根據我對您情況的了解,您希望同時獲取mi9rLmZW和A9rLRawV的tagid。 通過使用WHERE tagid IN ...,您還選擇了rEEtK9Hh。 您需要使用AND才能使mi9rLmZW和A9rLRawV都帶有tagid。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.