powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / (MySQL) подсчет нескольких значений с условием
8 сообщений из 8, страница 1 из 1
(MySQL) подсчет нескольких значений с условием
    #39183216
однобитный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здрасте!

Есть таблица:
clicks
id_click
flag_pay
date_click

Нужно подсчитать количество кликов с flag_pay = 0 и с flag_pay = 1, с группировкой по дате. Как лучше всего вместо двух запросов сделать это в одном?

Код: sql
1.
2.
SELECT COUNT(id_click) as cnt FROM clicks WHERE flag_pay = 0 GROUP BY(date_click)
SELECT COUNT(id_click) as cnt FROM clicks WHERE flag_pay = 1 GROUP BY(date_click)
...
Рейтинг: 0 / 0
(MySQL) подсчет нескольких значений с условием
    #39183222
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
(MySQL) подсчет нескольких значений с условием
    #39183255
однобитный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT COUNT(case when flag_pay = 0 then id_click else 0 end) as cnt_free, COUNT(case when flag_pay = 1 then id_click else 0 end) as cnt_pay FROM clicks WHERE flag_pay = 0 GROUP BY(date_click)

чета все равно все подряд считает...
...
Рейтинг: 0 / 0
(MySQL) подсчет нескольких значений с условием
    #39183260
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо жестокого и бессмысленного
Код: sql
1.
COUNT(case when flag_pay = 0 then id_click else 0 end) 

надо использовать простенькое
Код: sql
1.
SUM(flag_pay = 0)
...
Рейтинг: 0 / 0
(MySQL) подсчет нескольких значений с условием
    #39183265
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
))) матом здесь ругаться нельзя.....
))) на бумажке алгоритм нарисуйте и строго по квадратикам
Код: sql
1.
2.
3.
4.
SELECT 
SUM(case when flag_pay = 0 then 1 else 0 end) as cnt_free, 
SUM(case when flag_pay = 1 then 1 else 0 end) as cnt_pay 
FROM clicks WHERE flag_pay = 0 /* это зачем  ?????*/ GROUP BY(date_click)
...
Рейтинг: 0 / 0
(MySQL) подсчет нескольких значений с условием
    #39183267
однобитный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опечатка, спасибо!!! :)
...
Рейтинг: 0 / 0
(MySQL) подсчет нескольких значений с условием
    #39184377
itz3ima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здравствуйте, а если условий больше 2-х. например есть таблица
zak
id tov_id zak total
1 1 10 1.10
2 2 10 2.20
3 2 20 3.30
4 3 20 4.40
5 4 21 5.50
6 1 21 6.60
можно одним запросом получить сумму столбца total по признаку zak
чтобы было
itog
zak full_total
10 3.30
20 7.70
31 12.10
я пробовал как-то так:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT *, 
  (SELECT SUM(total) 
   FROM zak b 
   WHERE zak = b.zak) full_total 
FROM zak 
ORDER BY id;


но в итоге он щитает всю сумму столбца
...
Рейтинг: 0 / 0
(MySQL) подсчет нескольких значений с условием
    #39184483
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В подзапросе поле без алиаса будет взято из таблицы-источника этого подзапроса.
Алиасы должны быть у ВСЕХ таблиц и полей.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / (MySQL) подсчет нескольких значений с условием
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]