duanqiao9541 2016-04-28 13:53
浏览 53
已采纳

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

Is there any way to combine the following queries (Can we combine these queries by using COUNT or another way).

$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);

P.S.:I know "mysql_*" is deprecated.

thank you

  • 写回答

1条回答 默认 最新

  • doyp9057 2016-04-28 13:55
    关注

    You can use 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"
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?