|
|
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
Здрасте! Есть статистика вида id_view | mediumint date_view | datetime как вывести статистику за последние 5 дней, при условии, что есть дни, где записей нет, их нужно заполнить нулями, т.е. 20 11 0 0 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 08:30:41 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
однобитный, создать таблицу со всеми датами и использовать её в запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 08:38:41 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
думаю сделать вывод от 1 до 30 потом через DATE_SUB и NOW() получать даты, потом join-ом объединить результат но вот как в MySQL-е можно вывести в запросе диапазон от 0 до 30, например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 11:22:57 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
однобитныйза последние 5 дней5 дней можно и руками перечислить... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 11:27:16 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
тоже начал смотреть на UNION, но авторSELECT * FROM (SELECT 1 f UNION ALL SELECT 2) ругается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 11:49:21 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
однобитныйругаетсяВо-первых, всегда показывайте текст ошибки. Во-вторых, обратите внимание на буковку t в моем варианте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 11:50:56 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
ух ты авторselect n as n123 from (select 1 as n union all select 2) as n ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 11:54:05 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
истина где-то рядом (c) select DATE_SUB(CURDATE(), INTERVAL n DAY) as d from ( select 1 as n union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9 union select 10 union select 11 union select 12 union select 13 union select 14 union select 15 union select 16 union select 17 union select 18 union select 19 union select 20 union select 21 union select 22 union select 23 union select 24 union select 25 union select 26 union select 27 union select 28 union select 29 union select 30 ) as n ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 11:58:10 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
а зачем дни которых нету? ну это тоже самое что в банк позвонить и сказать...сделайте мне выписку по дням - сколько всумме снято с карточки, только те дни что нету дорисуйте снулями--ответ очевиден - возьми и дорисуй. зачем базу нагружать то что клиент может сделать? идея субд какбы обработка данных а не рисование нулей ЗЫ для простоты понимания - максимализируем ситуацию - отчот по дням за 5 лет, притом что данных есть за один день сентября первого года и один день третего года. тоже будем субд просить нарисовать пейзаж?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 13:02:53 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
alex564657498765453зачем базу нагружать то что клиент может сделать?Клиент может далеко не всегда. Или может, но с помощью значительно более сложного кода, нежели несколько строчек в SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 13:27:11 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
alex564657498765453зачем базу нагружать то что клиент может сделать? Во-первых, централизация бизнес-логики, включая сопровождение. Во-вторых, СУБД предназначена для такой работы. И, между прочим, лучше, чем клиент. Отдача нулей - один из вариантов результата обработки данных, ничем не хуже прочих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 14:59:21 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
miksoftalex564657498765453зачем базу нагружать то что клиент может сделать?Клиент может далеко не всегда. Или может, но с помощью значительно более сложного кода, нежели несколько строчек в SQL. мдя...печаль. так что ж вы советуете тогда селект юнионы, вместо того чтоб сделать себе табличку из двух полей, тип и значение, и загнать туда числа скажем от 1 до 10 тысяч с шагом 0.25.... для чисел вида хх.25(75) ставим тип четверть, для половинных х.5 - тип половина для целых - целые для чотных чотные...и когда возникает очередная художетсвеная постановка, использовать её вкачестве генератора последовательности... можно ещо дальше пойти, на примере логарифмической линейки сделать таблицу которая ещо более гибко будет генерировать последовательность :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 15:03:20 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
дfвно завел за правило держать в базах таблицу с одним полем id 1,2,3, --1000 (или больше) никому не мешает SELECT id FROM t1000 WHERE id<6 меньше текста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 16:16:25 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovдfвно завел за правило держать в базах таблицу с одним полем id 1,2,3, --1000 (или больше) никому не мешает SELECT id FROM t1000 WHERE id<6 меньше текста Достаточно таблицы digits с записями от 0 до 9. Потребуется 1000 - декарт трёх копий, и всё, а арифметика там достаточно быстрая. Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 17:58:33 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
Akinaalex564657498765453зачем базу нагружать то что клиент может сделать? Во-первых, централизация бизнес-логики, включая сопровождение. Во-вторых, СУБД предназначена для такой работы. И, между прочим, лучше, чем клиент. Отдача нулей - один из вариантов результата обработки данных, ничем не хуже прочих. эээ мысль в сторону ушла - речь идёт не о выдаче нулевых результатов, речь идёт о генерации последовательности. и наверно не дивно, что в скл нет для этого конструкции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 18:27:12 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
alex564657498765453не дивно, что в скл нет для этого конструкцииПоправка - в MySQL для этого нет конструкции. В некоторых других СУБД есть варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 18:31:36 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
alex564657498765453речь идёт о генерации последовательности. и наверно не дивно, что в скл нет для этого конструкцииНазначение SQL-сервера - обработка и выдача данных, которые ЕСТЬ в базе данных. Генерация - это костыль на случай, когда данных НЕТ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 20:02:51 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
miksoftalex564657498765453не дивно, что в скл нет для этого конструкцииПоправка - в MySQL для этого нет конструкции. В некоторых других СУБД есть варианты. Ну капец все невнимательные... я пишу в скл нету...а не в мускл... у других субд ---это наверно имееться ввиду скл на костылях который? типо тскл .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 20:55:21 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
alex564657498765453у других субд ---это наверно имееться ввиду скл на костылях который? типо тскл ....Нет, я не имел в виду процедурное расширение какой-либо СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 21:12:51 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
alex564657498765453так что ж вы советуете тогда селект юнионыПотому что это стандартное решение для примеров, которое написать гораздо быстрее, чем объяснять в каждой теме про "табличку из двух полей". alex564657498765453для чисел вида хх.25(75) ставим тип четверть, для половинных х.5 - тип половина для целых - целые для чотных чотные...и когда возникает очередная художетсвеная постановка, использовать её вкачестве генератора последовательности...Бегом учить математику. Сделать из таблицы целых таблицу четвертей - задача в одно действие, но с целыми изначально работа быстрее. alex564657498765453у других субд ---это наверно имееться ввиду скл на костылях который? типо тскл ....Типо постгрес. Или оракл. Вообще костыльные базы, ага... И нет, это чистый скл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2014, 04:55:56 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
tangliralex564657498765453так что ж вы советуете тогда селект юнионыПотому что это стандартное решение для примеров, которое написать гораздо быстрее, чем объяснять в каждой теме про "табличку из двух полей". alex564657498765453для чисел вида хх.25(75) ставим тип четверть, для половинных х.5 - тип половина для целых - целые для чотных чотные...и когда возникает очередная художетсвеная постановка, использовать её вкачестве генератора последовательности...Бегом учить математику. Сделать из таблицы целых таблицу четвертей - задача в одно действие, но с целыми изначально работа быстрее. alex564657498765453у других субд ---это наверно имееться ввиду скл на костылях который? типо тскл ....Типо постгрес. Или оракл. Вообще костыльные базы, ага... И нет, это чистый скл. оракал - это не язык, а субд, как и мс скл. а тскл и пскл и скл это языки!!! и да - бегом учить микропроцессорную технику - сделать из целых чисел четверти - далеко не элементарное действие в сравнении с готовыми четвертями для сравнения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2014, 08:56:26 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
alex564657498765453оракал - это не язык, а субдВНЕЗАПНО мопедкосяк не мой: alex564657498765453у других субд alex564657498765453бегом учить микропроцессорную технику - сделать из целых чисел четверти - далеко не элементарное действиебегом учить, что быстрее - дисковые операции или процессорные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2014, 09:56:24 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
alex564657498765453и да - бегом учить микропроцессорную технику - сделать из целых чисел четверти - далеко не элементарное действие в сравнении с готовыми четвертями для сравнения!Элементарное (и даже ничтожное) по сравнению со всеми остальными операциями в процессе выполнения запроса. И, пожалуйста, не надо никого никуда посылать. Это, как минимум, невежливо. alex564657498765453оракал - это не язык, а субд, как и мс скл. а тскл и пскл и скл это языки!!!Абстрактно-теоретический SQL никого не интересует. И имелось в виду не просто СУБД Oracle, а расширение языка SQL, реализованное в СУБД Oracle. Хотя, возможно, и в стандарте SQL есть что-то подходящее. Бегло мне не удалось найти его в полном виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2014, 10:07:49 |
|
||
|
(MySQL) заполнить нулями пустые значения
|
|||
|---|---|---|---|
|
#18+
miksoftХотя, возможно, и в стандарте SQL есть что-то подходящее. Бегло мне не удалось найти его в полном виде.ЕМНИП бесплатно его и не найти. Ну разве что какие-то части. Хотя вот в википедии пишут http://en.wikipedia.org/wiki/SQL:2003#Summary The SQL:2003 standard makes minor modifications to all parts of SQL:1999 (also known as SQL3), and officially introduces a few new features such as:[1] XML-related features (SQL/XML) Window functions the sequence generator, which allows standardized sequences ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2014, 12:17:21 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38791196&tid=1834009]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 311ms |

| 0 / 0 |
