[英]Mysql — how to join 2 tables and only keep matching row if criteria is met
[英]MYSQL Row Count if criteria is met
抱歉,但我不确定如何表达此问题或是否可行,但基本上我正在使用select语句,在该语句中,我想显示一列,该列显示满足条件的时间。 例如
SELECT pageID, isHome, if(ishome = 1, 'count?', 0) AS Passed
FROM pages
我希望passed
列显示这样的运行计数
PageID | ishome | passed
10031 | 0 | 0
10032 | 1 | 1
10033 | 1 | 2
10034 | 1 | 3
感谢您的任何帮助
尝试以下操作(未经测试)
select a.pageid, a.ishome, sum(b.ishome) passed
from
pages a join pages b
on a.pageid>= b.pageid
group by a.pageid, a.ishome
order by a.pageid
试试这个
SELECT pageID, isHome,
CASE isHome
WHEN 1 THEN SELECT COUNT(*) FROM pages p
WHERE p.isHome = 1 AND p.pageID <= pageID
ELSE 0
END as passed
FROM pages
ORDER BY pageID ASC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.