Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpSqGr 420 of 509 menu
◀ ▶

GROUP BY в C#

Группировка GROUP BY собирает строки с одинаковым ключом вместе. Рядом с SUM в списке полей оставляют столбец группы: в примере это "city". Поле "amount" внутри группы разное, его показывает только сумма.

Для города "a" сумма 10+5 = 15 (первая строка после ORDER BY city):

using Microsoft.Data.Sqlite; using SqliteConnection db = new("Data Source=:memory:"); db.Open(); using (SqliteCommand c = db.CreateCommand()) { c.CommandText = "CREATE TABLE sales (city TEXT, amount INT); INSERT INTO sales VALUES ('a',10),('a',5),('b',7)"; c.ExecuteNonQuery(); } using SqliteCommand q = db.CreateCommand(); q.CommandText = "SELECT city, SUM(amount) FROM sales GROUP BY city ORDER BY city"; using SqliteDataReader r = q.ExecuteReader(); r.Read(); Console.WriteLine(r.GetInt64(1));

Группа без строк не появится; пустая таблица - пустой ридер.

Создайте таблицу "staff" с колонкой "dept". Добавьте сотрудников в отделы "sales" и "support" и выведите, сколько получилось отделов.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить