2016-01-06 2 views
1

В моей базе данных есть дубликаты по разным причинам, и я пытаюсь получить общее количество уникальных клиентов за идентификатор пользователя.PHP/SQL Сумма общего количества клиентов

Это текущий запрос, который я создал.

$ApprovedCustomerCount ="SELECT `".Customer_Full_Name."`, `".Customer_Address."`, COUNT(DISTINCT(`".Customer_Full_Name."`)) AS CustomersCount 
          FROM `".OrdersTable."` 
          WHERE `".Users_Sales_ID."`=$EMPID 
          AND `".Current_Order_Stage."`='".Current_Order_Stage_Approved."' 
          GROUP BY `".Customer_Full_Name."`, `".Customer_Address."` 
          HAVING COUNT(".Customer_Full_Name.") > 1"; 

    $ApprovedCustomerResult=mysql_query($ApprovedCustomerCount); 
    while($OrdersRow=mysql_fetch_array($ApprovedCustomerResult)) 
    $CustomerApprovedCount = $OrdersRow['CustomersCount']; 

    if (empty($CustomerApprovedCount)) { $CustomerApprovedCount = '0'; }  
echo $CustomerApprovedCount; 

Ошибочно, это только дает мне значение 1 когда эхо в PHP.

Однако, когда я запрашиваю таблицу БД с точным запросом, я получаю вывод (для каждого имени клиента, адрес, который является уникальным counts = 1), который отобразит список клиентов и даст мне количество строк в строке db 67 , Это число, в котором я нуждаюсь.

запросов в PhpMyAdmin я бегу

SELECT `CustomerName`, `CustomerAddress`, COUNT(DISTINCT(`CustomerName`)) AS Customers 
FROM `wrightway_orders` 
WHERE `Employee_ID` = '3020' 
AND `Order Stage`='Approved' 
GROUP BY `CustomerName`, `CustomerAddress` 
HAVING COUNT(*) > 1 

Выходы

+------------------+----------------------+----------------+ 
| Customer Name | Address    | CustomersCount | 
+------------------+----------------------+----------------+ 
| ADRIANE JOHNSON | 10015 161ST PL NE |  1  | 
+------------------+----------------------+----------------+ 
| BILL SMITH  | 9923 161ST AVE NE |  1  | 
+------------------+----------------------+----------------+ 
| BRIAN WALTERS | 11129 106TH AVE NE |  1  | 
+------------------+----------------------+----------------+ 

т.д.

мне нужно сумме общее количество Count defined as 'CustomerCount' значений, то эхо это значение как echo $CustomerApprovedCount;

Где я ошибаюсь?

Я ценю вашу помощь :)

мне нужно посчитать всех клиентов, которые являются уникальными, а затем дать общую сумму всех клиентов, где EMPLOYEE_ID = ID #.

+0

пожалуйста, вы можете ясно себе, что вы получили в необходимых параметров и что вам нужно? – jilesh

+0

Я обновил свой OP с помощью дескремблированного sql-запроса. @jilesh – Kray

+0

вам нужно общее количество уникальных клиентов? я прав ? – jilesh

ответ

2

Просто используйте mysql_num_rows с результатом:

$ApprovedCustomerResult = mysql_query($ApprovedCustomerCount); 
$CustomerApprovedCount = mysql_num_rows($ApprovedCustomerResult); 
Смежные вопросы