У меня есть таблица базы данных events
и таблица bets
. Все ставки, размещенные для определенного события, находятся в таблице bets
, тогда как информация о событии хранится в таблице events
.Результаты группы mysql по суммарному значению столбца
Скажем, у меня есть эти таблицы:
events table:
id event_title
1 Call of Duty Finals
2 DOTA 2 Semi-Finals
3 GTA V Air Race
bets table:
id event_id amount
1 1 $10
1 2 $50
1 2 $100
1 3 $25
1 3 $25
1 3 $25
Я хочу, чтобы иметь возможность сортировать popularity
аки, сколько ставков были размещены для этого события и prize
аки общей суммы денег для этого события.
СОРТИРОВКА ПРЕМИИ
Очевидно, что этот запрос не работает, но я хочу сделать что-то вроде этого:
SELECT * FROM bets GROUP BY event_id SORT BY amount
amount
из запроса выше должна быть накопленная величина всех ставки суммы для этого event_id
суммироваться, так что этот запрос будет возвращать
Array (
[0]=>Array(
'event_id'=>2
'amount'=>$150
)
[1]=>Array(
'event_id'=>3
'amount'=>$75
)
[2]=>Array(
'event_id'=>1
'amount'=>$10
)
)
SORTING постранично
Очевидно, что этот запрос не работает, либо, но я хочу сделать что-то вроде этого:
SELECT * FROM bets GROUP BY event_id SORT BY total_rows
total_rows
из запроса выше должно быть число строк, которые существуют в bets
стол суммироваться, так что этот запрос будет возвращать
Array (
[0]=>Array(
'event_id'=>3
'total_rows'=>3
)
[1]=>Array(
'event_id'=>2
'total_rows'=>2
)
[2]=>Array(
'event_id'=>1
'total_rows'=>1
)
)
Я не обязательно нужно, чтобы вернуть значение total_rows
как я мог рассчитывать, но это делает необходимо сортировать по количеству вхождений для этого конкретного event_id
в таблицу bets
.
вы используете MySQL или SQL Server? –