[英]MySQL,PHP: count results per condition + get the total result that satisfies the conditions
SELECT *,
SUM(CASE WHEN XXX LIKE '999' AND YYY RLIKE '[0-9]8[0-9]' THEN 1 ELSE 0 END) AS Count999,
SUM(CASE WHEN XXX LIKE '111' AND YYY RLIKE '[0-9]2[0-9]' THEN 1 ELSE 0 END) AS Count111
FROM querytest
WHERE
( XXX LIKE '999' AND YYY RLIKE '[0-9]8[0-9]')
OR
( XXX LIKE '111' AND YYY RLIKE '[0-9]2[0-9]')
Array
(
[0] => 999
[xxx] => 999
[1] => 888
[yyy] => 888
[2] => 2
[Count999] => 2
[3] => 1
[Count111] => 1
)
我正在使用php。並且我想要一個查詢
讓我知道我可以從(XXX LIKE'999'和YYY RLIKE'[0-9] 88 [0-9]')得到多少結果,我可以從(XXX LIKE'111'和YYY RLIKE '[0-9] 23 [0-9]'),依此類推。 就像上一個查詢一樣。
讓我獲得所有結果,例如im使用此查詢:
SELECT * FROM querytest WHERE ( XXX LIKE '999' AND YYY RLIKE '[0-9]8[0-9]') OR ( XXX LIKE '111' AND YYY RLIKE '[0-9]2[0-9]')
如何將前面的兩個點合並為一個查詢? 加上第二點使用LIMIT和ORDER的功能。
您或者需要進行單獨的查詢,或者使用UNION。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.