繁体   English   中英

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

[英]Mysql query return rows based on multiple column in same table

我有这样的桌子

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

在此表中,我有post_id,键(表示发布的年份和月份)和值(表示年份值和月份值)

我想返回发布的所有post_ID,分别为“ 2014”和“ Month”为“ 09”,这意味着我的值为1和3。

我会计算有多少个属性与此规范匹配,并使用一个having子句过滤其count

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM