Php 如何统计具有不同记录的查询?

Php 如何统计具有不同记录的查询?,php,mysql,sql,Php,Mysql,Sql,我有一个具有不同列的查询 SELECT DISTINCT column_1 column_2, column_3, column_4, column_5, column_6, column_7, column_8, column_9 FROM my_table WHERE column_4 IN(some array) and ... order by column_1, colu

我有一个具有不同列的查询

SELECT 
    DISTINCT column_1
    column_2,
    column_3,
    column_4,
    column_5,
    column_6,
    column_7,
    column_8,
    column_9
FROM 
    my_table 
WHERE 
    column_4 IN(some array) 
    and ... 
    order by column_1, column_2
此查询是正确的,返回大约1000条记录。现在我需要使用count来找出记录的总数

我已尝试选择计数(不同列_1),但计数记录不是1000

我可以从PHP中应用count记录,但我希望从查询本身开始

有人能教我如何编写计数查询吗?

count(DISTINCT column\u 1)
只计算DISTINCT
column\u 1
值的数量。要获取查询中的结果数,需要应用于所有列:

SELECT COUNT(DISTINCT column_1, column_2, column_3, column_4, ... column_9)
FROM my_table 
WHERE ...
请注意,这是SQL的MySQL扩展,在其他DBMS上不起作用。

COUNT(DISTINCT column_1)
仅统计DISTINCT
column_1
值的数量。要获取查询中的结果数,需要应用于所有列:

SELECT COUNT(DISTINCT column_1, column_2, column_3, column_4, ... column_9)
FROM my_table 
WHERE ...

请注意,这是SQL的MySQL扩展,在其他DBMS上不起作用。

此处需要的确切最终输出是什么?显示计数表示上述情况下的1000。此处需要的确切最终输出是什么?显示计数表示上述情况下的1000。哦,这很简单。我试着分组。。。。让事情变得复杂。无论如何,谢谢。它不会计算包含
NULL
值的组合,但在其他情况下,是的。哦,这很简单。我试着分组。。。。让事情变得复杂。无论如何,谢谢。它不会计算包含
NULL
值的组合,但在其他情况下,是的。