All streams
Search
Write a publication
Pull to refresh
-1
0
Агафонов Олег @JayDi

Программист

Send message
С помощью дополнительного условия «текущий_месяц BETWEEN месяц_начала AND месяц_окончания». Собственно, для вывода количества событий в календаре этого условия будет достаточно (оно захватит в себя все активные события этого месяца).

Конструкция вида «STR_TO_DATE(DATE_FORMAT(date, 'date_format'), 'date_format')» представляет из себя аналог функции обрезания даты (по аналогии с другими СУБД, например, функции TRUNC() для Oracle).

А для оптимизации работы можно было бы хранить значение текущего месяца в отдельном поле — тогда появилась бы возможность использовать еще и индексы.
По месяцам:

SELECT
MONTHNAME(STR_TO_DATE(DATE_FORMAT(d.start_date, '01.%m.%Y'), '%d.%m.%Y')) AS R_MONTH_NAME,
COUNT(*) AS R_COUNT
FROM
dates d
GROUP BY
R_MONTH_NAME

По месяцам с ограничением длительности события на год/месяц/день (оставить одно условие для нужного эффекта):

SELECT
MONTHNAME(STR_TO_DATE(DATE_FORMAT(d.start_date, '01.%m.%Y'), '%d.%m.%Y')) AS R_MONTH_NAME,
COUNT(*) AS R_COUNT
FROM
dates d
WHERE
1 = 1
/* в один год */
/* AND STR_TO_DATE(DATE_FORMAT(d.start_date, '01.01.%Y'), '%d.%m.%Y') = STR_TO_DATE(DATE_FORMAT(d.end_date, '01.01.%Y'), '%d.%m.%Y') */
/* в один месяц */
/* AND STR_TO_DATE(DATE_FORMAT(d.start_date, '01.%m.%Y'), '%d.%m.%Y') = STR_TO_DATE(DATE_FORMAT(d.end_date, '01.%m.%Y'), '%d.%m.%Y') */
/* в один день */
/* AND STR_TO_DATE(DATE_FORMAT(d.start_date, '%d.%m.%Y'), '%d.%m.%Y') = STR_TO_DATE(DATE_FORMAT(d.end_date, '%d.%m.%Y'), '%d.%m.%Y') */
GROUP BY
R_MONTH_NAME
Видимо, вы очень далеко от разработчиков приложений для массового использования. Никто из пользователей ради одной программы не будет качать и устанавливать 200 Мб обновлений.
Как раз пол года назад в европейских Windows появилось обязательное окно выбора браузеров.
SVN во всем этом вообще ни причем. Использовав DVCS — сценарий был бы точно таким же. Проблемы были в знаниях и опыте участников проекта, в неправильной организации разработки, но никак не в используемых инструментах.
Впереди еще внедрение непрерывной разработки и автоматической сборки проектов. Удачи с этим. И, надеюсь, вам все-таки удастся просмотреть статьи на тему «10 вещей, которые надо (не надо) делать при работе с...» — а то как-то слижком уж много граблей было у вас на пути.
Пост изобретателей велосипедов.

А если серьезно, то такие «велосипедисты» — очень большая проблема в реальных проектах. Они тратят огромное количество времени и средств заказчика на реализацию того, что уже было написано до них — просто потому, что либо не знают о существовании уже готового решения, либо буквально отвергают чужой код и идеи. Низкое качество продукта, перенос сроков и постоянное переписывание кода с нуля — вот самые болезненные признаки таких людей.
Вставьте в начале предложение слово iPhone и ничего не изменится.

В iPhone нет полноценного GPS для навигации, нет полноценного bluetooth для передачи файлов, нет java, нельзя поставить свою мелодию на звонок.
Злоупотребление в том, что здесь классическую задачу по перебору элементов дерева вместо простого решения с использованием рекурсии и цикла решают с помощью таких громозких инструментов, как LINQ и т.п. Все-равно, что стрелять в мух из пушки.

В приведенных решениях мало того, что невозможно разобраться с первого раза (в одном из примеров даже потребовались комментарии!), этот код невозможно легко модифицировать, отлаживать, да и вообще что-либо с ним делать. За такой код, попади он в рабочую ветку, ваши коллеги долго будут вспоминать вас добрым словом.
Отличная иллюстрация того, к чему может привести злоупотребление всякими «новомодными штуками» при решение повседневных задач.
Слишком яркий и пестрый дизайн под «мультяшность» для продукта, ориентированного на бизнес, в т.ч. корпоративных клиентов.
Windows 7, Office 2010 — не работает.
Почему? У Oracle есть прекрасная бесплатная версия СУБД — Oracle XE, которая хорошо подходит под небольшие проекты. Как только появится необходимость в большой базе — перейти на нее с XE будет не проблема.
Oracle — это не просто база данных, а целая инфраструктура, включающая в себя огромное количество технологий и программных продуктов для корпоративного рынка. СУБД — это лишь малая часть айсберга.
Думаю, фраза «слетели пароли» будет более понятной для простых пользователей банк-клиента (читай, бухгалтеров), чем «возникли проблемы с сервером авторизации, где сгорел массив из жестких дисков и сейчас в срочном порядке происходит восстановление данных из резервной копии».
LIMIT нет, зато есть более продвинутый rownum, с помощью которого можно легко вернуть самую последнюю запись.
Думаю, HttpFox, отслеживающий весь входящий и исходящий трафик браузера, врать не будет.
Данные с сайта никак не отправляются на сторону сервера — ни через куки, ни через всевозможные get и post запросы.

Information

Rating
Does not participate
Location
Сызрань, Самарская обл., Россия
Registered
Activity