Sql group by count group: sql — How to use count and group by at the same select statement

Содержание

SQL GROUP BY запрос для подсчета записей в группе и подгруппе данных

Вы можете увидеть команду Count перед использованием команды GROUP BY здесь. Команда GROUP BY создаст группы в указанном имени поля и подсчитает количество записей в группах. Это очень полезная команда.



Мы также можем использовать команду WHERE вместе с командой GROUP BY в таблицах Mysql.

 SELECT count(*) as total_records, class FROM `student` group by class 

Это покажет общее количество записей в каждом классе. Так

всего_записей класс
1 Восемь
3 Пять
9 Четыре
2 Девять
10 Семь
7 Шесть
3 Три

Попробуем получить общее количество записей девочек в каждом классе с помощью запроса GROUP BY. Здесь мы хотим отфильтровать наш запрос только для девочек, поэтому нам нужно использовать одно предложение WHERE, чтобы ограничить записи с помощью поля пола. Вот запрос.

 ВЫБЕРИТЕ class,count( * ) AS total_records FROM `student` WHERE gender='female' GROUP BY class 

Связанный учебник
Подгруппа по
SQL Имея

Результат здесь:

9001 1 1

класс total_records
Четыре 5
Девять
Семь 5
Шесть 5
Три 1

СГРУППИРОВАТЬ ПО с COUNT(), MIN(),MAX(),AVG()

 SELECT class, count(*) no, AVG(mark),MAX(mark),MIN(mark),SUM(mark)
 ОТ УЧЕНИКА ГРУППА ПО КЛАССУ ЗАКАЗ ПО № DESC 
90 011 Семь

9001 1 3

9 0011 65

класс нет AVG (метка) MAX (метка) MIN (метка) СУММА (метка)
10 77,6000 90 55 776
Четыре 9 70,8889 88 55 638
Шесть 7 82. 5714 96 54 578
Три 3 73,6667 85 55 221
Пять 79,3333 85 75 238
Девять 2 41,5000 18 83
Восемь 1 79.0000 79 79 79

Использование двух столбцов с GROUP BY

 ВЫБЕРИТЕ класс, пол, COUNT( * ) Нет ОТ учащегося
 ГРУППА ПО классам, порядок пола по классам 

Выход

9001 1 1

класс пол
восемь мужской 1
Пять «папа» 3
Четыре женский 5
четыре мужской 4
девять женский
Девять мужской 1
Семь женский 5
Семь мужской 5
Шесть женский 5
Шесть наружная 2
Три женский 1
Три мужской 2

ГРУППА ПО с C АСЭ

Мы можем далее разбить столбец пол , чтобы получить количество мужчин и женщин в каждом классе, используя регистр SQL.

 класс SELECT, count(*) как Total,
сумма (СЛУЧАЙ, КОГДА пол = 'мужской', ТОГДА 1 ЕЩЕ 0 КОНЕЦ) как мужчина,
сумма (СЛУЧАЙ, КОГДА пол = 'Женский', ТОГДА 1 ELSE 0 END) как Женский
 ИЗ студенческой группы по классам; 

Выход

900 11 0

класс Всего Мужской Женский
Восемь 1 1
Пять 3 3 0
Четыре 9 4 5
Девять 2 1 1
Семь 10 5 5
Шесть 7 2 5
Три 3 2 90 012

1

Повторяющиеся записи

Мы можем найти повторяющиеся записи в таблице, используя команду group by. Мы создадим еще одну таблицу student2_1 , используя те же данные и добавив несколько повторяющихся записей. Вот запрос

 ВЫБЕРИТЕ имя, COUNT(id) КАК нет из группы student2_1 по имени, не имеющему > 1 

Выход здесь.

имя
Арнольд 2
Тейд Роу 3

Вы можете загрузить дамп SQL этой таблицы stduent2_1 с добавленными повторяющимися данными в конце этой страницы.

Как удалить повторяющиеся записи

Используя группировку по полю даты, мы можем создать список по календарному году, финансовому году, месяцу

Код образца

Вот пример кода, чтобы понять, как использовать группировку по запросу с использованием PHP-скрипта и PDO.

 требуют "../config.php"; // Подключение к базе данных
////////////////////////////
$sql="SELECT count(*) as total_records, class FROM `student`, группировка по классам ";
эхо "<таблица>";
foreach ($dbo->query($sql) as $row) {
echo "$row[класс]$row[total_records]";
}
эхо "";
 

ЧАСТЬ II: Мы попробуем применить группу по команде более чем к одному полю. Для этого создадим новую таблицу и подробно обсудим. Следующая часть II

Загрузка SQL DUMP этой таблицы учеников

Загрузить дамп SQL таблицы stduent2_1

← Справочники по SQL Math
ГРУППА_КОНКАТ()→
Группировать по команде для более чем одного столбца →

← Подпишитесь на наш канал YouTube здесь

Эта статья написана plus2net.com команда.
https://www.plus2net.com

plus2net.com

▼ Подробнее о получении записей из таблицы различными комбинациями команд

sampat

26- 02-2009

я хотите отобразить всю запись из таблицы,
в котором, если столбец содержит повторяющееся значение, он сразу покажет повторяющееся значение
smo

27-02-2009

Вы должны использовать отдельную команду SQL. Читайте здесь о том, как использовать Distinct для получения уникальных записей.

9 0058

Алисия

22-08-2009

очень хороший урок, он мне очень помогает 🙂
картик

23-10-2010

я хочу отобразить столбец в строке.

Пишите здесь свои комментарии, предложения, ошибки, требования и т. д.

Деталь

Запросы
ВСТАВЛЯТЬ
ОБНОВЛЯТЬ

Совокупные запросы
СРЕДНИЙ (средний)
СУММА
МИН.
МАКС

Видеоруководства по SQL

© 2000-2023 plus2net.com Все права защищены во всех странах мира
Отказ от ответственности в отношении политики конфиденциальности

PySpark GroupBy Count — объяснение

Распространяйте любовь

PySpark Groupby Count используется для получения количества записей для каждой группы. Итак, чтобы выполнить подсчет, сначала вам нужно выполнить groupBy() для DataFrame, который группирует записи на основе значений одного или нескольких столбцов, а затем выполнить count(), чтобы получить количество записей для каждой группы.

В этой статье я объясню, как использовать агрегаты groupBy() и count() вместе с примерами. Функция PySpark groupBy() используется для сбора идентичных данных в группы и выполнения агрегатных функций, таких как размер/счет для сгруппированных данных.

1. Краткие примеры группового подсчета

Ниже приведены краткие примеры выполнения группового подсчета.

# Быстрые примеры
# groupBy для одного столбца
df2 = df.groupBy("отдел").count()
df2.show()
# groupBy для нескольких столбцов
df2 = df.groupBy("отдел","штат").count()
df2.show()
# Группа SQL по количеству
# Создаем временную таблицу в PySpark
df.createOrReplaceTempView("EMP")
# PySpark SQL
sql_str="выберите отдел, штат, количество (*) как количество из EMP " + \
"группировать по отделам, штатам"
spark. sql(sql_str).show()
 

Сначала создадим DataFrame

# Импорт
из pyspark.sql импортировать SparkSession
# Создать SparkSession
искра = SparkSession.builder.appName('SparkByExamples.com') \
        .мастер("местный[5]").getOrCreate()
# Создать кадр данных
simpleData = [("Джеймс","Продажи","Нью-Йорк",

,34,10000), ("Майкл", "Продажи", "Нью-Йорк", 86000,56,20000), ("Роберт", "Продажи", "CA", 81000,30,23000), ("Мария","Финанс","ЦА",

,24,23000), («Раман», «Финанс», «ЦА», 99000,40,24000), («Скотт», «Финансы», «Нью-Йорк», 83000,36,19000), («Джен», «Финансы», «Нью-Йорк», 79000,53,15000), («Джефф», «Маркетинг», «CA», 80000,25,18000), («Кумар», «Маркетинг», «Нью-Йорк», 91000,50,21000) ] схема = ["имя_сотрудника","отдел","штат","зарплата","возраст","бонус"] df = spark.createDataFrame (данные = простые данные, схема = схема) df.show ()

Выход ниже выходного.

2. Пример подсчета групп PySpark

Используя DataFrame.groupBy(). count() в PySpark, вы можете получить количество строк для каждой группы. Функция DataFrame.groupBy() возвращает объект pyspark.sql.GroupedData, который содержит набор методов для выполнения агрегирования в DataFrame.

# количество групп PySparkBy()
df2 = df.groupBy("отдел").count()
df2.show()
 

Выход ниже выходного.

3. Групповой подсчет PySpark для нескольких столбцов

Групповой подсчет для нескольких столбцов можно выполнить, передав функции два или более столбца и используя count() поверх результата. В следующем примере выполняется группировка по столбцам отдела и состояния , и в результате я использовал функцию count().

# groupBy для нескольких столбцов
df2 = df.groupBy("отдел","штат").count()
df2.show()
 

Выход ниже выходного.

4. PySpark SQL GROUP BY COUNT

Наконец, с помощью PySpark вы также можете выполнять SQL-запросы, поэтому давайте запустим приведенный выше пример в SQL, выполнив SELECT GROUP BY Count(*).

Для этого сначала необходимо создать временное представление с помощью createOrReplaceTempView() и использовать SparkSession.sql() для выполнения запроса. Таблица будет доступна для использования до тех пор, пока вы не завершите сеанс SparkSession.

# SQL-группа PySpark по количеству
# Создаем временную таблицу в PySpark
df.createOrReplaceTempView("EMP")
# PySpark SQL
sql_str="выберите отдел, штат, количество (*) как количество из EMP " + \
"группировать по отделам, штатам"
spark.sql(sql_str).show()
 

5. Полный пример Groupby Count

Ниже приведен полный пример groupBy() и count().

 # Импорт
из pyspark.sql импортировать SparkSession
# Создать SparkSession
искра = SparkSession.builder.appName('SparkByExamples.com') \
.мастер("местный[5]").getOrCreate()
# Создать кадр данных
simpleData = [("Джеймс","Продажи","Нью-Йорк",

,34,10000),
("Майкл", "Продажи", "Нью-Йорк", 86000,56,20000),
("Роберт", "Продажи", "CA", 81000,30,23000),
("Мария","Финанс","ЦА",

,24,23000),
(«Раман», «Финансы», «ЦА», 99000,40,24000),
(«Скотт», «Финансы», «Нью-Йорк», 83000,36,19000),
(«Джен», «Финансы», «Нью-Йорк», 79000,53,15000),
(«Джефф», «Маркетинг», «CA», 80000,25,18000),
(«Кумар», «Маркетинг», «Нью-Йорк», 91000,50,21000)
]
схема = ["имя_сотрудника","отдел","штат","зарплата","возраст","бонус"]
df = spark.