簡體   English   中英

計數mysql聯合類型查詢

[英]Count mysql union type query

我有一個聯合類型查詢。 如何計算查詢的行數?

mysql_query(
    "  (SELECT 1 as sort_col,performerid,pic0 
          FROM $table 
          WHERE performerid IS NOT NULL $performeridSql) 
    UNION 
       (SELECT 2 as sort_col,performerid,pic0 
          FROM $table 
          WHERE performerid IS NOT NULL 
              $categorySql $buildSql 
              $breastsize $haircolor $age $ethnicity 
              $willingnessSql) 
          ORDER BY sort_col");

只需計算子查詢結果...

SELECT COUNT(t.*) FROM
(   (SELECT 1 AS sort_col,performerid,pic0 
       FROM $table 
       WHERE performerid IS NOT NULL 
         $performeridSql) 
  UNION 
    (SELECT 2 AS sort_col,performerid,pic0 
       FROM $table 
       WHERE performerid IS NOT NULL 
         $categorySql $buildSql 
         $breastsize $haircolor $age $ethnicity 
         $willingnessSql)
  ORDER BY sort_col)
) AS t

如果除了計數之外還需要結果,則mysqli_result::num_rowsPDOStatement::rowCount之類的mysqli_result::num_rows將返回您想要的結果。 否則,將查詢作為子查詢運行,然后將COUNT聚合函數應用於結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM