2°C
завтра: 4°C
Погода в Перми
2°C
вечером4°C
ночью2°C
завтра4°C
Подробно
 93,29
+0.0399
Курс USD ЦБ РФна 24 апреля
93,2918
+0.0399
 99,56
+0.1961
Курс EUR ЦБ РФна 24 апреля
99,5609
+0.1961
  • есть запрос:
    $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 были равны?
    туплю:хммм:

  • $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

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

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

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

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

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

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

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

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

Модератор: