Выборка с GROUP BY - MySQL
Формулировка задачи:
есть таблица bets с полями game, mult, sum
Нужно вытащить сумму полей sum при одинаковых mult и только у указанных game.
Что я и пытался сделать Но запрос не возвращает строк, хотя если в HAVING поставить game=3, то всё верно получается. Не могу понять в чем проблема. Возможно потому что game=3 - это первые две строки в таблице, а game=2023 это 4ая строка. Скрин таблицы - http://prntscr.com/g7izwx
SELECT SUM(`sum`) AS `multTotal`, game, mult FROM bets GROUP BY mult HAVING `game`=2032 ORDER BY mult
Решение задачи: «Выборка с GROUP BY»
textual
Листинг программы
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[PARTITION partition_list]
[WHERE where_condition]
[GROUP BY {col_name | expr | POSITION}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | POSITION}
[ASC | DESC], ...] ...
Объяснение кода листинга программы
Ваш запрос написан на языке SQL и выполняет выборку данных из одной или нескольких таблиц, указанных в table_references.
SELECT- указывает, какие столбцы или выражения следует вернуть в результате запроса.[ALL | DISTINCT | DISTINCTROW]- указывает, должны ли быть возвращены все строки или только уникальные значения в каждом наборе результатов.[HIGH_PRIORITY]- этот параметр используется для выбора алгоритма выполнения запроса с высоким приоритетом.[STRAIGHT_JOIN]- указывает, что соединение таблиц должно быть выполнено в прямом порядке (последовательно), а не в обратном.[SQL_SMALL_RESULT]и[SQL_BIG_RESULT]- эти параметры используются для управления размером результирующего набора данных.[SQL_BUFFER_RESULT]- указывает, что результирующий набор данных должен быть кэширован в памяти.[SQL_CACHE | SQL_NO_CACHE]- указывает, должен ли результирующий набор данных быть кэширован или нет.[SQL_CALC_FOUND_ROWS]- этот параметр используется для расчета общего числа строк, которые были бы возвращены без применения условий выборки.select_expr- выражение, которое определяет столбцы, которые должны быть возвращены в результате запроса.[FROM table_references]- указывает, из каких таблиц следует выбирать данные.[PARTITION partition_list]- указывает, что выборка должна быть выполнена только для определенных разделов таблицы.[WHERE where_condition]- указывает, какие строки следует исключить из выборки.[GROUP BY {col_name | expr | POSITION}]- группирует строки по указанным столбцам или выражениям.[WITH ROLLUP]- указывает, что в групповые строки следует включить также общее значение выражения.[HAVING where_condition]- указывает, какие группы следует исключить из выборки.[ORDER BY {col_name | expr | POSITION}]- сортирует результаты по указанным столбцам или выражениям.[ASC | DESC]- указывает, должны ли результаты быть отсортированы в порядке возрастания или убывания.[WITH UNIQUE ROWS]- указывает, что в результирующем наборе данных должны быть только уникальные строки.[LIMIT row_count]- ограничивает количество возвращаемых строк.[OFFSET offset]- смещает начало выборки на указанное количество строк.