Элементы выбора SQL, в которых сумма полей меньше N

Учитывая, что у меня есть таблица со следующим очень простым содержимым:

# select * from messages;
  id | verbosity 
 ----+-----------
   1 |        20
   2 |        20
   3 |        20
   4 |        30
   5 |       100
 (5 rows)

Я хотел бы выбрать N сообщений, сумма подробностей которых меньше, чем Y (для целей тестирования, скажем, должно быть 70, тогда правильными результатами будут сообщения с идентификатором 1,2,3 ). Для меня очень важно, чтобы это решение было независимым от базы данных (, оно должно работать по крайней мере на Postgres и SQLite ).

Я пытался что-то вроде:

SELECT * FROM messages GROUP BY id HAVING SUM(verbosity) < 70;

Однако, похоже, он работает не так, как ожидалось, потому что на самом деле он не суммирует все значения из столбца подробностей.

Буду очень признателен за любые подсказки/помощь.

5
задан Erwin Brandstetter 27 July 2012 в 17:52
поделиться