Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> SQL MAX
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Можно ли составить такой запрос.

НУжно вытащить Имя города, Колличество Квартир, Цена за час(минимальная), изображение города,
из таблиц.... . Где Колличество квартир в Городе имеет наибольшее значение,
И всего 8 городов должно получиться. Где У каждого города по 1й квартире и сминимальной ценой за час



Чтото набросал но он с ошибкой не врублюсь как еще решить можно
SELECT c.city_name,COUNT(a.city_id) as count,a.price_hour,c.city_img FROM apartment a 
LEFT JOIN city c USING(city_id)
WHERE a.price_hour = (SELECT MIN(price_hour) FROM apartment)
AND COUNT(a.city_id) = (SELECT MAX( COUNT(city_id) FROM apartment) )
GROUP BY news_id

LIMIT 8


ну или хотябы подскажите как сделать такое
остальное я решу

AND COUNT(city_id)  = (SELECT MAX( COUNT(city_id) FROM apartment) )
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 5 дней


SELECT MAX( COUNT(city_id) FROM apartment  group by city_id limit 1 order by COUNT(city_id) DESC)

не ?


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Игорь_Vasinsky, Неа и ваш вариант И мой ни в какую.

SELECT news_id,city_id, COUNT(city_id), price_hour FROM apartment 

WHERE price_hour = (SELECT MIN( price_hour ) FROM apartment)
GROUP BY news_id
LIMIT 8



Такой вариант вытаскивает 8 квартир, но они все с 1го города. Нужно с каждого города по 1му

Вот блин как вытащить то только 1 город, вытаскиваются все по порядку.
А нужно только из каждого города по 1му полю С самым максимальным количеством городов.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1755
Пользователь №: 20757
На форуме: 6 лет, 10 месяцев
Карма: 184




maruo, что-то из описания не очень понятно, какой результат должен быть? По одной квартире с минимальным ценником из восьми городов где квартир больше всего, и количество квартир в этих городах (будет одинаковым для всех по условию)?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




kaww
Нет кол -во квартир в городах разные в таблице.

Нужно Взять 8 городов. С максимальным числом квартир в Этом городе.
И минимальным ценником на эту квартиру
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1755
Пользователь №: 20757
На форуме: 6 лет, 10 месяцев
Карма: 184




select c.*, count(1) as numebr_of_appartament, min(a.price_hour) as min_price
from city as c
inner join apartment as a on c.city_id=a.city_id
group by c.city_id
order by cnt desc
limit
8
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




kaww, Сейчас сверю, точно ли те значения получаю:)

Вот же уровень) Я 4 часа мучал запрос)

А как это работает? count(1)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
T1grOK  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2703
Пользователь №: 24406
На форуме: 6 лет, 1 месяц, 16 дней
Карма: 170




Цитата (kaww @ 27.05.2016 - 08:11)
select c.*, count(1) as numebr_of_appartament, min(a.price_hour) as min_price
from city as c
inner join apartment as a on c.city_id=a.city_id
group by c.city_id
order by cnt desc
limit
8

LIMIT сработает раньше группировки, так что запрос некорректно отработает.


--------------------
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




T1grOK, Хм ну я вроде сверил вытащилось то что надо, хотя не буду спорить
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1755
Пользователь №: 20757
На форуме: 6 лет, 10 месяцев
Карма: 184




Цитата (maruo @ 27.05.2016 - 15:16)
А как это работает? count(1)

кстати, стоит заменить на count(*) или с primary key, что будет работать быстрее чем count(1)
Цитата (T1grOK @ 27.05.2016 - 15:28)
LIMIT сработает раньше группировки

нет
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




kaww, А как все же работает count(1) с единицей внутри? Как то по другому?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
T1grOK  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2703
Пользователь №: 24406
На форуме: 6 лет, 1 месяц, 16 дней
Карма: 170




Цитата (kaww @ 27.05.2016 - 08:39)
нет

Да. LIMIT выполняется в процессе выборки, GROUP BY выполняется на основании полученных записей.

P.S. А, все. Не обратил внимание на сортировку..


--------------------
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Народ, ну можно еще ответ получить на один вопрос.
Такая Задача , Сайт на поддоменах.
ТОесть каждый город на поддоменах.
А у меня MVC. В роутере менять ?
Просто там еще Надо что бы УРл был на русском языке.
А функции нельзя вызывать же русскими буквами
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1755
Пользователь №: 20757
На форуме: 6 лет, 10 месяцев
Карма: 184




Цитата (maruo @ 27.05.2016 - 15:40)
А как все же работает count(1) с единицей внутри?

то же самое что и count(*), за исключением простых запросов без where для myisam т.к. это значение хранится движком. Но это не случай, обсуждаемый в этой теме. описано тут http://dev.mysql.com/doc/refman/5.7/en/gro...#function_count
Цитата
This optimization applies only to MyISAM tables only, because an exact row count is stored for this storage engine and can be accessed very quickly.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса