简体   繁体   English

通过在单个表中使用count组合多个mysql_num_rows查询

[英]combining multiple mysql_num_rows queries by using count in a single table

Is there any way to combine the following queries (Can we combine these queries by using COUNT or another way). 有没有什么方法可以合并以下查询(我们可以使用COUNT或其他方法合并这些查询)。

$resultacgc = mysql_query("SELECT mno FROM table1 WHERE (m_jid='$sid' AND decision='accept-gf')");
  $numacgc = mysql_num_rows($resultacgc);
$resultacp = mysql_query("SELECT mno FROM table1 WHERE (m_jid='$sid' AND decision='accept-p')");
  $numacp = mysql_num_rows($resultacp);
$resultacpc = mysql_query("SELECT mno FROM table1 WHERE (m_jid='$sid' AND decision='accept-pc')");
  $numacpc = mysql_num_rows($resultacpc);
$resultacr = mysql_query("SELECT mno FROM table1 WHERE (m_jid='$sid' AND decision='accept-rdy')");
  $numacr = mysql_num_rows($resultacr);
$resultacft = mysql_query("SELECT mno FROM table1 WHERE (m_jid='$sid' AND decision='accept-ft')");
  $numacft = mysql_num_rows($resultacft);

PS:I know "mysql_*" is deprecated. PS:我知道“ mysql_ *”已弃用。

thank you 谢谢

You can use mysql IN. 您可以使用mysql IN。

Like so: 像这样:

"SELECT mno FROM table1 WHERE (m_jid='$sid' AND decision IN ('accept-gf', '...', '...'))"

In case you want to get each count you would need to do something like this: 如果要获取每个计数,则需要执行以下操作:

"SELECT decision, COUNT(*) AS count FROM table1 WHERE (m_jid='$sid' AND decision IN ('accept-gf', '...', '...')) GROUP BY decision"

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

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