Mysql查询基于同一个表中的多列返回行

时间:2014-09-21 18:57:38

标签: mysql sql

我有这样的表

Post_ID  KEY    Value
1       year   2014
1       month   09
2       year   2014 
2      month    10
3       year   2014
3       month   09   

在此表中,我有post_id,key(表示帖子的年份和月份)和值(表示年份值和月份值)

我想返回发布的所有post_ID“2014”,月份是“09”,这意味着我有值1和3。

1 个答案:

答案 0 :(得分:0)

我会计算有多少属性符合此规范,并使用count子句过滤having

SELECT   post_id
FROM     my_table
WHERE    (key = 'year' AND value = '2014') OR
         (key = 'month' AND value = '09')
GROUP BY post_id
HAVING   COUNT(*) = 2