Выборка с 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]
- смещает начало выборки на указанное количество строк.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д