[英]mysql selecting multiple rows in key value pair
我有一個如下的MySQL表:
++++++++++++++++++++++++++++++
id | uid | key | value
++++++++++++++++++++++++++++++
1 | u01 | instrument | guitar
2 | u01 | level_____ | 10
3 | u02 | instrument | guitar
4 | u02 | level_____ | 1
現在,我想執行一個查詢來搜索:所有可以同時彈吉他並且級別為10的UID,結果應顯示為:
結果>
uid : u01
但是我有點卡住,不知道查詢應該是什么樣子。 我知道我可能必須執行條件聚合,但是可以請某人指導我
SELECT DISTINCT UID FROM TABLE WHERE VALUE IN ('PIANO', 'VIOLIN')
select uid
from your_table
where `key` = 'instrument'
and `value` in ('guitar','violin')
group by uid
having count(distinct `value`) = 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.