2016-10-18 11 views
0

ご協力いただきありがとうございます。私はこの問題に何時間も取り組んできました。私はもちろんによって破壊特定の日に受信された顧客の最初の注文を、カウントしたい個性的な顧客をカウントしてください

OrderID | CustomerID | Date  | Course 
--------|------------|-----------|---------- 
14954 | 13440  |16.10.2016 | Zürich 
14955 | 13441  |17.10.2016 | Bern 
14956 | 13441  |17.10.2016 | Aargau 
14957 | 13442  |17.10.2016 | Bern 
14958 | 10483  |17.10.2016 | Zürich 
14959 | 13442  |18.10.2016 | Solothurn 

:私は、次の列を持つテーブルがあります。クエリで17.10.2016の結果は次のようになります。

Bern: 2 
Aargau: 0 
Zürich: 1 

は、私はすでにのようにDISTINCTおよびネストされたクエリ試してみた:

SELECT Count(*) AS Anzahl 
FROM (SELECT DISTINCT kundennummer 
     FROM (SELECT datum, 
         kundennummer 
       FROM unterlagenbestellungen 
       WHERE kurs LIKE 
     '%" & DgvStatUnterlagenbestellungen.Rows(x).HeaderCell.Value & "%') 
     WHERE datum BETWEEN # " & mindatum & " # AND # " & maxdatum & " #) 

私は任意のヘルプ

答えて

0

T Accessでも作業する必要があります。

SELECT t1.Course, Count(t2.OrderID) 
FROM tab AS t1 
LEFT JOIN -- get all Courses for that day 
(-- find the minimum order per customer 
    SELECT CustomerID, Min(OrderID) AS OrderID 
    FROM tab AS t2 
    WHERE Date='17.10.2016' 
    GROUP BY CustomerID 
) AS t2 
ON t1.CustomerID = t2.CustomerID 
AND t1.OrderID = t2.OrderID -- only one row per customer 
WHERE Date='17.10.2016' 
GROUP BY t1.Course 
0

のために非常に感謝してこれを試してみてください。

SELECT 
cource, 
COUNT(customer_id) 
FROM 
[your table] 
WHERE DATE = '2016-06-17' 
GROUP BY cource 
ORDER BY cource 
関連する問題