mySql - 从多个查询中获取常用值

时间:2016-10-15 04:51:19

标签: mysql

我的数据库表如下所示:

enter image description here

我正在尝试运行一个返回所有常见user_id的查询 - 例如field_id = 552 AND value = 'Savannah' AND field_id = 553 AND value = 'GA' AND field_id = 554 AND value = 'USA'。 (所以在这种情况下,根据我的屏幕截图中显示的记录,结果只是'1')。

我一直在寻找联盟和工会,但我觉得我已经走下了一个兔子洞,无法找到回来的路。

这可能吗?

1 个答案:

答案 0 :(得分:1)

这是使用conditional aggregation的一个选项:

select user_id
from yourtable
group by user_id
having max(case when field_id = 552 then value end) = 'Savannah' and
       max(case when field_id = 553 then value end) = 'GA' and
       max(case when field_id = 554 then value end) = 'USA'