−2°C
завтра: 3°C
Погода в Перми
−2°C
утром−1°C
днем6°C
завтра3°C
Подробно
 64,68
+0.6996
Курс USD ЦБ РФна 26 апреля
64,6794
+0.6996
 72,11
+0.3961
Курс EUR ЦБ РФна 26 апреля
72,1111
+0.3961
  • veteran

    Сообщений: 1072

    есть запрос:
    $sql_query = "SELECT `Rooms`,`street`,`HomeNumber`,`Floor`, count(*) as counter FROM `realty` where `NewHouse`!=1 group by `Rooms`,`street`,`HomeNumber`,`Floor` having count(*)>1";
    в базе поле Rooms имеет значения от 0 до 9, как модифицировать запрос, чтобы значения 0 и 9 были равны?
    туплю:хммм:

  • experienced

    Сообщений: 963

    $sql_query = "SELECT case `Rooms` when 9 then 0 else `Rooms` end as `Rooms`,`street`,`HomeNumber`,`Floor`, count(*) as counter FROM `realty` where `NewHouse`!=1 group by case `Rooms` when 9 then 0 else `Rooms` end ,`street`,`HomeNumber`,`Floor` having count(*)>1"

  • Аналитик_БД

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

    SELECT `Rooms`,`street`,`HomeNumber`,`Floor`, count(*) as counter FROM `realty` where `NewHouse`!=1,`Rooms` < 9 group by `Rooms`,`street`,`HomeNumber`,`Floor` having count(*)>1
    UNION ALL
    SELECT 0 ,`street`,`HomeNumber`,`Floor`, count(*) as counter FROM `realty` where `NewHouse`!=1,`Rooms` = 9 group by `Rooms`,`street`,`HomeNumber`,`Floor` having count(*)>1

  • veteran

    Сообщений: 1390

    Если 0 и 9 - по сути одно и тоже, храни в базе либо 0 либо 9. RTFM "Нормализация"

  • guru

    Сообщений: 5269

    В ответ на: Если 0 и 9 - по сути одно и тоже, храни в базе либо 0 либо 9. RTFM "Нормализация"
    В контексте этого запроса - одно и тоже, а в принципе - скорее всего нет.

  • veteran

    Сообщений: 1390

    По тексту запроса возникает мысль, что идет речь о риэлтерской базе данных. У риэлтеров есть фишка: объект "комната" обозначать как 0-комнатная либо 9-комнатная квартира.
    Судя по всему, инфа в базу сливается из разных источников, в одних - комнаты обозначены как 0-комнатная, в других как 9-комнатная.

    Правильнее при сливе привести всё к 0 либо 9.

    Если не учитывать этих ньюансов, я бы использовал mod(rooms,9)

  • veteran

    Сообщений: 1390

    Ваш запрос выдаст неправильный результат

Записей на странице:

Перейти в форум

Модератор: