Как запросить сумму столбца, только если другие столбцы одинаковы в sqlite3? - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть эта таблица «акции», которая записывает каждую транзакцию от каждого пользователя:

user_id ticker  qty price_order time_order  price_now
18      AAPL    5   300         NULL        259.43
18      GOOG    10  200         NULL        1186.51
18      AAPL    -2  200         NULL        259.43
20      AAPL    10  200         NULL        259.43
20      AAPL    -5  200         NULL        259.43

И я запрашиваю, например, пользователя 18 с

SELECT ticker, SUM(qty), price_order, time_order FROM stocks JOIN users ON user_id = id WHERE id = 18:

ticker  SUM(qty)    price_order time_order
AAPL    13          200         NULL

Это не то, что я хотел. Мне нужно суммировать только строки с одинаковым тикером. Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Вам просто нужно добавить GROUP BY ticker в конце. Это объединит строки с одинаковым тикером.

SELECT ticker, SUM(qty), price_order, time_order
FROM stocks JOIN users ON user_id = id
WHERE id = 18 
GROUP BY ticker
0 голосов
/ 08 апреля 2020

Вы должны использовать группу по

SELECT ticker, SUM(qty), price_order, time_order FROM stocks JOIN users ON user_id = id WHERE id = 18 GROUP BY ticker
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...