簡體   English   中英

如何選擇列中具有相似條目的行? 的MySQL

[英]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

我有一個輸入,如A9rLRawVmi9rLmZW 我想要類似的輸出;

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM