Яка різниця між GROUP BY count і distinct count?

0 Comments

З точки зору використання, GROUP BY використовується для групування рядків, які потрібно обчислити. DISTINCT не виконуватиме жодних обчислень. Він не відображатиме повторюваних рядків. Я завжди використовував DISTINCT, якщо хочу представити дані без дублікатів. 2 жовтня 2008 р.

У MySQL SELECT DISTINCT використовується для отримання унікальних значень з одного або кількох стовпців у наборі результатів, усуваючи дублікати без агрегації. І навпаки, GROUP BY використовується для групування рядків із загальними значеннями у визначених стовпцях, що дозволяє функціям агрегації підсумовувати дані в кожній групі.

Але яка велика різниця між підрахунком і окремим підрахунком? Різниця в тому, що окремий підрахунок не враховує те саме значення двічі. Отже, якщо перший рядок має значення «Кава», а другий рядок має значення «Кава», кількість буде двома, але окрема кількість буде лише одиницею.

Поширені запитання щодо Count Distinct SQL COUNT DISTINCT і COUNT обидва стосуються підрахунку, але їхня спрямованість різна. Одночасно, COUNT підраховує кожен екземпляр значень у стовпці, навіть дублікати, тоді як COUNT DISTINCT зосереджується виключно на унікальних значеннях.

Distinct набагато швидший, ніж Group by, особливо якщо індекс існує. SQL має лише шукати індекс, не зберігаючи інформацію про те, як часто ці елементи з’являються.

SELECT COUNT(*) FROM таблиці GROUP BY стовпець повертає кількість рядків для кожного значення стовпця, згрупованого за, а не кількість груп. Таблиця SELECT COUNT(DISTINCT column) FROM повертає кількість груп (хоча ви також можете отримати це, використовуючи кількість рядків із запиту GROUP BY).