alexmay
@alexmay

Mysql запрос с COUNT, SUBTOTAL и GRANDTOTAL — как построить?

Без использования PHP
Имеется таблица посещений, всего 4 колонки - timestamp, ip, useragent, daynumber

Подскажите пожалуйста, как средствами MySQL (расширения допустимы) построить запрос, что бы в результирующем выводе помимо данных были строки SUBTOTAL (количество строк) и GRANDTOTAL. Считать субтоталы - по количеству строк с единым идентификатором daynumber
Т.е. примерно такой вывод необходим 5a8c41c58bd90387753848.png(см. картинку)

Спасите пожалуйста - на PHP очень получается некрасиво, когда можно все сделать средствами SQL ))
  • Вопрос задан
  • 17 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ivankomolin
Все эти данные из mysql используя sql вытянуть конечно можно, но не в таком виде, их все равно придется обрабатывать, чтобы получить внешний вид как у вас. А сам запрос к mysql серверу будет не оптимальным и расходовать ресурсы при выполнении.

Идеальный вариант решения задачи в данном случае получить все данные с помощью sql одним простым запросом, а уже потом привести в нужный вид на php.

Ну уже если сильно хочется то вот пример как получить все необходимые данные:
(SELECT
	timestamp, 
	ip, 
	useragent, 
	daynumber, 
	count(*) as total
FROM 
	table
GROUP BY 
	daynumber
)
UNION
(SELECT
	'' as timestamp,
	'' as ip, 
	'' as useragent, 
	'' as daynumber, 
	count(*) as total
FROM 
	table
)


Итогом будет таблица, последняя колонка которой будет показывать subtotal текущего daynumber, а в последней строке будет показывать GRANDTOTAL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
от 90 000 до 150 000 руб.
20 авг. 2018, в 21:21
30000 руб./за проект
20 авг. 2018, в 20:46
5000 руб./за проект
20 авг. 2018, в 20:38
700 руб./в час