mySQL文に問題があります。ステートメント1は私には正しい答えを与えますが、ステートメント2にスケールした場合、カウント値が大幅に減少しています。私はGROUP BYの根本的な問題を見逃していますか?年、月ごとにグループ化するとカウント値がオフになる
私が本当に必要とするのは、達成された最大3カウントと月と年を返すことです。解決策はありますか?前もって感謝します!
編集:私は、これはあなたが単にあなたのコードを見て、目の新鮮なペアを必要とする恐ろしい例一つだと思い
SELECT
count(t2.rec_date), any_value(t2.rec_date)
FROM results t1
join patients t2
on t1.barcode = t2.barcode
WHERE test LIKE '%ssc%'
and year(rec_date) = 2017
and month(rec_date) = 2;
>>> 366, '2017-02-01'
SELECT
count(t2.rec_date) AS count,
any_value(rec_date)
FROM results t1
join patients t2
on t1.barcode = t2.barcode
WHERE test LIKE '%ssc%'
GROUP BY EXTRACT(YEAR_MONTH FROM run_date)
ORDER BY count DESC
LIMIT 3;
>>> 415, 2017-02-28
>>> 373, 2017-01-31
>>> 365, 2016-10-04
2017-02のasme結果が得られるはずです。 366対415は本当に興味があります。 –
です。それは私を夢中にさせている。私は手でデータセットを検証しました。それが私にGROUP BY – kevincicero
のすべての理解を持っているとは信じられませんでしたが、1つは 'run_date'と他の' rec_date'に従ってグループ化されています。 –