Access クエリに少し問題があります (理由は聞かないでください。本当の SGBD は使用できませんが、Access です)。920k レコードのような巨大なテーブルがあります。これらすべてのデータをループして、5 つ以上発生する ref を取得する必要があります。同じ日の時間
テーブル = マイテーブル
--------------------------------------------------------------
| id | ref | date | C_ERR_ANO |
--------------------------------------------|-----------------
| 1 | A12345678 | 2012/02/24 | A 4565 |
| 2 | D52245708 | 2011/05/02 | E 5246 |
| ... | ......... | ..../../.. | . .... |
--------------------------------------------------------------
少し再開しますが、900000 以上のレコードがあり、同じ日付に重複があります (ちなみに、名前として C_ERR_ANO を持つ、追加するのを忘れていた別の列があります)
したがって、これらすべての行をループして、日付とエラー番号に基づいて各参照を取得する必要があります
同じエラー番号で5回以上ある場合は、それらを取得して結果に表示する必要があります
私はこのクエリを使用して終了しました:
SELECT DISTINCT Centre.REFERENCE, Centre.DATESE, Centre.C_ERR_ANO
FROM Centre INNER JOIN (SELECT
Centre.[REFERENCE],
COUNT(*) AS `toto`,
Centre.DATESE
FROM Centre
GROUP BY REFERENCE
HAVING COUNT(*) > 5) AS Centre_1
ON Centre.REFERENCE = Centre_1.REFERENCE
AND Centre.DATESE <> Centre_1.DATESE;
しかし、このクエリはうまくいきません
SELECT DATESE, REFERENCE, C_ERR_ANO, COUNT(REFERENCE) AS TOTAL
FROM (
SELECT *
FROM Centre
WHERE (((Centre.[REFERENCE]) NOT IN (SELECT [REFERENCE]
FROM [Centre] AS Tmp
GROUP BY [REFERENCE],[DATESE],[C_ERR_ANO]
HAVING Count(*)>1 AND [DATESE] = [Centre].[DATESE]
AND [C_ERR_ANO] = [Centre].[C_ERR_ANO]
AND [LIBELLE] = [Centre].[LIBELLE])))
ORDER BY Centre.[REFERENCE], Centre.[DATESE], Centre.[C_ERR_ANO])
GROUP BY REFERENCE, DATESE, C_ERR_ANO
まだ動作していません
私は苦労しています