1

正しくカウントされていないように見えるデータがあります。生データを見ると、特定の列に 5 つの異なる値が表示されますが、「Count (Distinct ColA)」を実行すると 4 と報告されます。これは、グループ化するすべてのカテゴリにも当てはまります。 1。たとえば、列の 2 番目の値は 3 の場合は 2 を報告し、3 番目の値は 2 の場合は 1 を報告します。

表 A: ID、タイプ

テーブル B: ID_FK、WorkID、日付

要約すると、私のクエリは次のとおりです。

SELECT COUNT (DISTINCT B.ID_FK), A.Type
FROM A INNER JOIN B ON B.ID_FK = A.ID
WHERE Date > 5/1/2013 and Date < 5/2/2013
GROUP BY Type
ORDER BY Type

結果のスニペット:

4|Business
2|Design
2|Developer

これは、要約されていない私のデータのサンプルです。パイプは区切りです。上記のクエリの「COUNT...」と「GROUP BY...」の部分を削除して、これを取得しました。

4507|Business
4515|Business
7882|Business
7889|Business
7889|Business
8004|Business
4761|Design
5594|Design
5594|Design
5594|Design
7736|Design
7736|Design
7736|Design
3132|Developer
3132|Developer
3132|Developer
4826|Developer
5403|Developer

データからわかるように、Business は 4 ではなく 5 である必要があります。少なくとも、それは私の目が教えてくれることです。:)

内部の ExecuteSQL 呼び出しを使用して、FileMaker 12 ソリューション内でこれを実行しています。ただし、あまり気にしないでください。コードは他のほとんどのものと同じである必要があります。:)

どんな助けでも大歓迎です。

ありがとう、J

4

2 に答える 2

1

これは FileMaker の問題である可能性があります。FileMaker フォーラムでこの投稿を見たことがありますか? プラグインを使用して 2012 年 3 月に 11V3 で同じ問題 (1 ずつ異なるカウント) を説明し、2012 年 11 月に ExecuteSQL を使用して 12v3 で同じ問題を更新しました。どちらの場合も解決されなかったようです。

その他の考慮事項としては、結合されたテーブルに参照整合性制約があるかどうか、またはクエリ実行プランを取得できる場合に、予想とは異なる方法でクエリが実行されていることがわかる場合があります。FileMaker がこれを実行できるかどうかはわかりません。

私はBarmarの提案が好きです。それは2回ソートされます。

バグに対処している場合は、別のタイミングで発生するようにクエリを構成して COUNT DISTINCT、Join、および/または Group By を指示すると、回避できる可能性があります。

SELECT COUNT (DISTINCT x.ID), x.Type
FROM (SELECT A.ID ID, A.Type Type
        FROM A
       INNER JOIN B ON B.ID_FK = A.ID
       WHERE B.Date > 5/1/2013 and B.Date < 5/2/2013) x
GROUP BY Type
ORDER BY Type

B.ID_FK を、適用されるコンテキストを知っている A.ID に置き換えてみることもできます。

于 2013-05-11T01:22:20.093 に答える