Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (7) « Первая ... 2 3 [4] 5 6 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Тестовое задание - помогите выполнить, Прислали мне тестовое задание
S.Chushkin  
Дата
Цитировать сообщение

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



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 883
Пользователь №: 36058
На форуме: 12 лет, 2 месяца, 26 дней
Карма: 43




Цитата (Oyeme @ 10.01.2013 - 15:49)
Ничего поправлять Нинадо.
Все работает как надо.С самого начала.

Экий Вы упрямый. sad.gif
Вам уже трое сказали, что запрос не рабочий. А Michael даже написал, как поправить надо.


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

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



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

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6347
Пользователь №: 18498
На форуме: 15 лет, 7 месяцев, 26 дней
Карма: 269




Valick, а так верно же выдает на твоей базе?:
SELECT * FROM data WHERE (currency, data) IN (
SELECT currency,
MAX(DATE_FORMAT(data,"%Y-%m-%d"))
FROM data
GROUP BY currency
)
GROUP BY currency


--------------------
There never was a struggle in the soul of a good man that was not hard
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
S.Chushkin  
Дата
Цитировать сообщение

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



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 883
Пользователь №: 36058
На форуме: 12 лет, 2 месяца, 26 дней
Карма: 43




Michael - последний "GROUP BY currency" убить.


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

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 6460
Пользователь №: 35718
На форуме: 12 лет, 4 месяца, 4 дня
Карма: 208




этот запрос не проверял, мне ща на моей работе по щее дадут smile.gif
у меня такой запрос:
SELECT * FROM (SELECT MAX(`data`) `data`,currency FROM `data` WHERE `data` <= NOW() GROUP BY currency) a LEFT JOIN `data` b USING(`data`,currency)
естественно тип поля поправить до нормального


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

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



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

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6347
Пользователь №: 18498
На форуме: 15 лет, 7 месяцев, 26 дней
Карма: 269




Цитата (S.Chushkin @ 10.01.2013 - 13:59)
Michael - последний "GROUP BY currency" убить.

ну да, это я скопипастил, тут он не нужен уже.


--------------------
There never was a struggle in the soul of a good man that was not hard
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

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



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

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9630
Пользователь №: 26630
На форуме: 14 лет, 21 день
Карма: 664




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

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 6460
Пользователь №: 35718
На форуме: 12 лет, 4 месяца, 4 дня
Карма: 208




у меня кстати созрел еще один запрос достаточно извращенный, надо будет проверить smile.gif
__
ну а с IN я и правда дал маху, даже не знаю как с этим дальше жить
я понимаю что у меня достаточно белых пятен, но чтоб вот так "з-за угла"...


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

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



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 883
Пользователь №: 36058
На форуме: 12 лет, 2 месяца, 26 дней
Карма: 43




Цитата (killer8080 @ 10.01.2013 - 16:04)
Вот так вот, главное завести толпу, а там глядишь за вас всю работу сделают laugh.gif

В данном случае это не имеет значения - недостаток знаний вычисляется на раз (пара-другая дней, максимум неделя).
Т.е. ТС правильное решение бесполезно (как решение), только если как знание в копилку. А дать знание (поделиться), это нормально. Даже если задарма...


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

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



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 23010
Пользователь №: 20039
На форуме: 15 лет, 3 месяца, 16 дней
Карма: 623




1 валюта за 1 день = 1 значение.
Для банка бывают до 100 валют
Банк может работать 365 дней в году.
Есть возможность, что валюта будет меняться на протяжении дня.

Банк, проработав 3 года получит 100`000 - 200`000 записей, через 5-6 лет и увеличении валют до 200-300 единиц (все страны) - уже миллион записей.

Каждый раз использовать временную таблицу, группировать... не лучший вариант, как по мне.

Поэтому лучше использовать кеширование, учесть, что кеширование по заданию мы сделаем внутри нашего скрипта, отсюда алгоритмы попадания, изменения данных в кеш-таблице и удаления записей будет выполнять ПХП скрипт с различными запросами. Так как нас просят просто показать финальный запрос, как будет выглядеть, то он выглядеть будет так:
SELECT `currency`, `rate` FROM `currency_cache`


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 6460
Пользователь №: 35718
На форуме: 12 лет, 4 месяца, 4 дня
Карма: 208




inpost, сам шучу сам смеюсь?


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

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



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

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6422
Пользователь №: 5552
На форуме: 16 лет, 8 месяцев, 16 дней
Карма: 165




финально будет так:
$result = getWhatINeed();


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

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



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 23010
Пользователь №: 20039
На форуме: 15 лет, 3 месяца, 16 дней
Карма: 623




Valick
Я не понимаю шутки... ты в своём проекте с миллионами посетителей вроде Приват Банка для вывода курса будешь использовать такой запрос:
SELECT * FROM (SELECT MAX(`data`) `data`,currency FROM `data` WHERE `data` <= NOW() GROUP BY currency) a LEFT JOIN `data` b USING(`data`,currency)

Интересненько ты программируешь, очень интересненько...



Спустя 5 минут, 14 секунд inpost написал(а):
Valick
Правильно для вывода использовать кеш. Отсюда вопрос другой, решили поменять курс только 1 валюты из 200, ты будешь заново пересчитывать все курсы, или сделаешь запрос по одному курсу и обновишь лишь кеш данной валюты?
В общем заведомо неверное проектирование ты выбрал.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
S.Chushkin  
Дата
Цитировать сообщение

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



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 883
Пользователь №: 36058
На форуме: 12 лет, 2 месяца, 26 дней
Карма: 43




Цитата (inpost @ 10.01.2013 - 21:52)
...Отсюда вопрос другой, решили поменять курс только 1 валюты из 200, ты будешь заново пересчитывать все курсы, или сделаешь запрос по одному курсу и обновишь лишь кеш данной валюты?
В общем заведомо неверное проектирование ты выбрал.

У наших людей иногда бывает одна проблемка, - придумывает себе трудности, а потом героически их преодолевает. Ваш случай такой. wink.gif

Для этой простой задачи достаточно простого решения. В частности, достаточно кеша mySQL, ибо на 500 млн.запросов в сутки/сервер, будут только 200 реальных, остальное из кеша. Причём, "реальный" будет выполняться заметно меньше секунды.
Конечно, более продвинутый кеш будет на порядок (где-то) быстрее, - а зачем?


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

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



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 23010
Пользователь №: 20039
На форуме: 15 лет, 3 месяца, 16 дней
Карма: 623




S.Chushkin
Кеш не безграничный, забьет другую информацию кешем и всё, заново обработка.
Ты говоришь, что трудность... я этот скрипт за 10 минут напишу вместе с кешем и классом для работы с данными. И где тут трудности? Ладно бы были задача на несколько часов...

Ну да, ну да, относиться к поставленным задачам легкомысленно, чтобы потом через год снова всё исправлять, а ещё через 2 - опять и опять.

А зачем, чтобы сделать сразу 1 раз за 10 минут правильно и забыть про этот участок кода. Вот и всё.

Ах да, если ты считаешь, что написать 10 минут скрипт = героическое преодоление, то "Интересненько ты программируешь, очень интересненько...".

Я ввёл в поисковое поле "Креведка", и хочу показать сайт, в котором есть это слово... какая простая задача: SELECT * FROM `sites` WHERE `text` LIKE '%Креведка%'
Можешь скинуть эту реализацию в google.com... smile.gif

Это сообщение отредактировал inpost - 10.01.2013 - 22:41


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

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



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 23010
Пользователь №: 20039
На форуме: 15 лет, 3 месяца, 16 дней
Карма: 623




И самое главное, блин, с этого надо было начинать, вдумайся в мой ответ на твои слова: "Конечно, более продвинутый кеш будет на порядок (где-то) быстрее, - а зачем? "
Ответ: при трудоустройстве ты претендуешь на самую высокую з/п из представленной вилки, поэтому ты должен показать свои способности поиска наиболее ПРОДВИНУТЫХ и правильных решений с наилучшей оптимизацией, чтобы у работодателя не было сомнений, что ты заслуживаешь наивысшую з/п. Вот и всё, выполняя тестовое задание работодатель хочет увидеть всё, что ты умеешь делать, и твои мысли по поводу наилучших оптимизаций.
Ты можешь показать простой код, тогда тебе скажут: "да, он умеет делать простой код". А когда станет вопрос о том, сможешь ли ты выполнить проект, который требует САМЫЙ ЛУЧШИЙ способ реализации - возникнут вопросы...
А теперь картину наоборот: ты показываешь крутой код, тогда тебе ответят: "да он умеет писать крутые коды", а когда станет вопрос, сможет ли он написать простой код - ответ очевидный, так же ДА! Потому что профессионалы могут писать простые коды на ровне с сложными, а вот новички только простые.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

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

Опции темыСтраницы: (7) « Первая ... 2 3 [4] 5 6 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса