За последние 24 часа нас посетили 19096 программистов и 1637 роботов. Сейчас ищут 872 программиста ...

Выборка с условием в Mysql

Тема в разделе "PHP и базы данных", создана пользователем simple, 21 окт 2010.

  1. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    Народ помогите, как сделать выборку строк из БД чтобы сумма значений в столбцах(по которым произовдиться условие выбокри ) не превышало бы заданое условие, например выбрать все строки где сумма значений с COUNT <= 100
    можно ли это реализовать в mysql, ил придется php скрипт писать?
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    без классов с бд не работал
    я бы делал циклический запрос (while $i<=100) в котором соотв $i++
    всё )
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    попахивает назревшей необходимостью переделать нафик бд и ввести столбец, в котором они все суммируются в момент добавления/изменения. Хотя если нагрузка небольшая - пофик конечно.
     
  4. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    igordata а как обновить определенные строки в одном запросе, например что такого написать в WHERE что бы удалились/обновились некоторое количество строк например по primary key, или это только в цикде возможно?
     
  5. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    нашел...=) where id in(1,2,3,4...x) =)
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    simple
    Гений, чо! =)
     
  7. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    почему не работает такой запрос?
    [sql]select*from tdsl where flag<=1.12 [/sql]
    выбрать все строки из таблицы у которых поле flag меньше или ровно 1.12, в базе есть такии значеия, но не выводиться, когда пишешь flag<=1.13, то все выводиться, неужели операнд <= не срабатывает?
    PS. с целыми данными все работает нормально, но вот флоат почему то не хочет
     
  8. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    вобщем это все из за типа float, решил числа с плавающей точкой хранить как char, проблема изчезла
     
  9. simple

    simple Активный пользователь

    С нами с:
    17 сен 2010
    Сообщения:
    56
    Симпатии:
    0
    возник еще один вопрос с обновлением, как составить запрос чтобы он обновил ячейку count записал туда 'x' строки id=1 и а в строке id=2 в count записал 'y', т.е нужно обновить столбец но разными значениями для каждой строки
     
  10. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    2 запроса