Помогите с SQL запросом

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Freedom, 16 Dec 2009.

  1. Freedom

    Freedom Elder - Старейшина

    Joined:
    2 Jul 2007
    Messages:
    38
    Likes Received:
    92
    Reputations:
    8
    Ребят помогите плиз.
    В общем есть таблица допустим "хрень"

    В ней список значений

    Onecolumn:twocolumn:threecolumn

    труляля:qweq:150
    траляяк:sdfsfff:100
    триляля:dfgdgd:300

    Собственно вопрос. Нужно выбрать значения начиная с первого чтобы сумма threecolumn достигла 250

    пробовал так

    select *,sum(threecolumn) from хрень where sum(threecolumn)=250

    Но это неправильно ((.
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    бери все, а потом считай. в MySQL просто так не получится.
    В MSSQL можно, но через жопу )
     
  3. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    Думается мне без процедуры не обойтись. Циклы смотри. Выводи в каждой итерации по одной строке и накапливай в цикле сумму 3й колонки.
     
  4. ZagZag

    ZagZag Elder - Старейшина

    Joined:
    22 Feb 2007
    Messages:
    149
    Likes Received:
    22
    Reputations:
    1
    Одним запросом, имхо, не обойтись.
    Проще всего сделать суммирование в скрипте.
    Или попробовать написать мега-запрос с использованием LIMIT и COUNT(*)+1
     
  5. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    Code:
    SELECT Onecolumn from хрень
    group by Onecolumn
    HAVING SUM(threecolumn) = 250
    как то так. по крайней мере у меня в оракле работает для моих таблиц.
     
    1 person likes this.
  6. Freedom

    Freedom Elder - Старейшина

    Joined:
    2 Jul 2007
    Messages:
    38
    Likes Received:
    92
    Reputations:
    8

    group by не катит ((( разные значения в onecolumn.

    лан. придется делать как посоветовал spider-intruder
     
  7. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    ну дык и что, что разные? вернутся 2 строки - труляля и траляяк. или требуется чтото другое?
     
  8. Freedom

    Freedom Elder - Старейшина

    Joined:
    2 Jul 2007
    Messages:
    38
    Likes Received:
    92
    Reputations:
    8

    бля точно )))))) спасибо. *помчался писать (ударение на а )))
     
  9. Freedom

    Freedom Elder - Старейшина

    Joined:
    2 Jul 2007
    Messages:
    38
    Likes Received:
    92
    Reputations:
    8
    блин ((((. в общем забыл скеазать что реализация данного алгоритма нужна на Delphi + mssql и код выше не фурычит. Набросайте плиз.
     
    #9 Freedom, 17 Dec 2009
    Last edited: 17 Dec 2009