Моё меню Общее меню Пользователи Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > Разное/IT
Знаете ли Вы, что ...
...инструкция по установке аватара описана в Правилах форума.
<< Предыдущий совет - Случайный совет - Следующий совет >>

Разное/IT Всё, что не попадает в другие разделы форума и подфорумов представленных здесь организаций. Не IT темы обсуждаются в "Беседке"


Ответить

 
Опции темы Опции просмотра
Старый 15.10.2013 00:19   #51  
Real ID Group Ultimate 2008
Аватар для Alisher Umarov
Оффлайн
AKA:Jazz
Сообщений: 4,528
+ 1,247  2,402/1,186
– 5  244/97

Uzbekistan
Ok. С вторым вопросом разобрались.
Так как с первым?

зы. В практике отчёты по периодам очень часто применяются.
Ответить 
Старый 15.10.2013 00:52   #52  
Known ID Group uParty Member
Аватар для Dolphin
Оффлайн
Imperium of Man
Inquisitor
Сообщений: 5,990
+ 5,680  4,442/2,033
– 128  137/102

Russian FederationОтправить сообщение для Dolphin с помощью ICQОтправить сообщение для Dolphin с помощью Skype™Facebook
Цитата:
Сообщение от Alisher Umarov Посмотреть сообщение
Ok. С вторым вопросом разобрались.
Так как с первым?
Нет структуры базы - нет запроса...

Поступления от пяти бригад можно разложить по таблицам десятками способов разной степени упоротости.
Ответить 
Старый 15.10.2013 09:27   #53  
Real ID Group Ultimate 2008
Аватар для Alisher Umarov
Оффлайн
AKA:Jazz
Сообщений: 4,528
+ 1,247  2,402/1,186
– 5  244/97

Uzbekistan
Цитата:
Сообщение от Dolphin Посмотреть сообщение
Цитата:
Сообщение от Alisher Umarov Посмотреть сообщение
Ok. С вторым вопросом разобрались.
Так как с первым?
Нет структуры базы - нет запроса...

Поступления от пяти бригад можно разложить по таблицам десятками способов разной степени упоротости.
А?

id, product_name, br1, br2, br3, br4, br5, date
Ответить 
Старый 15.10.2013 12:31   #54  
Аватар для sleepy dragon
Оффлайн
Сообщений: 1,836
+ 787  484/309
– 0  89/61

Uzbekistan
Скрытый текст:

SELECT
'day' AS 'time',
SUM(br1) AS 'br1',
SUM(br2) AS 'br2',
SUM(br3) AS 'br3',
SUM(br4) AS 'br4',
SUM(br5) AS 'br5'
FROM
table_name
WHERE
DAY(date) = DAY(NOW())
UNION
SELECT
'week' AS 'time',
SUM(br1) AS 'br1',
SUM(br2) AS 'br2',
SUM(br3) AS 'br3',
SUM(br4) AS 'br4',
SUM(br5) AS 'br5'
FROM
table_name
WHERE
WEEK(date) = WEEK(NOW())
UNION
SELECT
'month' AS 'time',
SUM(br1) AS 'br1',
SUM(br2) AS 'br2',
SUM(br3) AS 'br3',
SUM(br4) AS 'br4',
SUM(br5) AS 'br5'
FROM
table_name
WHERE
MONTH(date) = MONTH(NOW())
UNION
SELECT
'quarter' AS 'time',
SUM(br1) AS 'br1',
SUM(br2) AS 'br2',
SUM(br3) AS 'br3',
SUM(br4) AS 'br4',
SUM(br5) AS 'br5'
FROM
table_name
WHERE
QUARTER(date) = QUARTER(NOW())
UNION
SELECT
'year' AS 'time',
SUM(br1) AS 'br1',
SUM(br2) AS 'br2',
SUM(br3) AS 'br3',
SUM(br4) AS 'br4',
SUM(br5) AS 'br5'
FROM
table_name
WHERE
YEAR(date) = YEAR(NOW())
Ответить 
Старый 16.10.2013 01:09   #55  
Аватар для Nestik
Оффлайн
ZOG
eminence grise
Сообщений: 2,258
+ 277  835/480
– 353  232/151

UzbekistanОтправить сообщение для Nestik с помощью ICQ
Цитата:
Сообщение от Alisher Umarov Посмотреть сообщение
А?

id, product_name, br1, br2, br3, br4, br5, date
А вдруг привезут не только пиёз но ещё и хлопок и не в килограмах, а в херманах штучно, или пару бригад из школьников добавится, а потом не только приносить пиёз станут но и забирать тоже, жрать же чёто надо, да и один склад по быстрому заполнится.

Итого:
1. Номенклатурный справочник
2. Справочник по складам
3. Справочник по бригадам
4. Справочник по типам транзакций
5. Ну и сами транзакции

И это ещё без конкретного описания структуры таблиц.

Последний раз редактировалось Nestik; 16.10.2013 в 01:12.
Ответить 
2 "+" от:
Старый 16.10.2013 02:25   #56  
uParty Member Known ID Group Ultimate
Аватар для OmoN
Оффлайн
програмщег
Сообщений: 4,971
+ 2,743  5,086/2,116
– 69  99/68

Uzbekistan
Оффтоп:
Цитата:
Сообщение от JackDaniels Посмотреть сообщение
Если у вас интернет-магазин и в секунду страничку со случайным товаром дергает 100-200 человек, то такой Селект прибьет сервер и разгонит клиентов.
По этому делают так что бы такие странички получали данные не прямо из базы.
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер.

Последний раз редактировалось OmoN; 16.10.2013 в 02:34.
Ответить 
Реклама и уведомления
Старый 16.10.2013 03:30   #57  
Real ID Group
Аватар для Dmitriy Nikolaev
Оффлайн
AKA:Ne@Flax
Сообщений: 1,370
+ 696  1,654/496
– 24  34/27

UzbekistanFacebook
юзайте правильные индексы и будет вам щастье.
__________________
В шахматах единственный минус - нельзя строить новых юнитов.
Ответить 
Старый 16.10.2013 17:26   #58  
Known ID Group uParty Member
Аватар для Dolphin
Оффлайн
Imperium of Man
Inquisitor
Сообщений: 5,990
+ 5,680  4,442/2,033
– 128  137/102

Russian FederationОтправить сообщение для Dolphin с помощью ICQОтправить сообщение для Dolphin с помощью Skype™Facebook
Цитата:
Сообщение от Alisher Umarov Посмотреть сообщение
id, product_name, br1, br2, br3, br4, br5, date
Такую таблицу я даже трехметровой палкой трогать не буду.

Цитата:
Сообщение от sleepy dragon Посмотреть сообщение
SELECT
'day' AS 'time',
SUM(br1) AS 'br1',
SUM(br2) AS 'br2',
...
SUM(br1) AS 'br1',
SUM(br2) AS 'br2',
SUM(br3) AS 'br3',
SUM(br4) AS 'br4',
SUM(br5) AS 'br5'
FROM
table_name
WHERE
YEAR(date) = YEAR(NOW())
Имхо, в таких случаях практичней и быстрей несколько мелких запросов сделать.
Ответить 
"+" от:
Старый 17.10.2013 14:04   #59  
Real ID Group
Аватар для Rooslan Khayrov
Оффлайн
Google
software engineer
AKA:Y combinator
Сообщений: 418
+ 114  374/183
– 6  9/8

Switzerland
Продолжаем развлекаться?

В процессе одного обсуждения родилась пара задачек. Самый редуцированный вариант: для заданной таблицы посчитать некую агрегатную функцию для каждых N строк. Для наглядности примем простейшую схему с двумя колонками: id (целое автоинкремент) и value (вещественное). Надо посчитать суммы value по 10 значений: т.е. сумма первых 10, с 11-го по 20-е и т.д.

Связанная задача с большим реальным смыслом: для той же таблицы найти перцентили распределения value, с 1-й по 100-ю.

Решения для PostgreSQL:
Скрытый текст:
Код:
SELECT sum(value) FROM (
    SELECT value, row_number() OVER (ORDER BY id) AS i
    FROM data ORDER BY id) AS numbered
GROUP BY (i - 1) / 10;

SELECT ceil(percent) AS n, max(value) AS percentile FROM (
    SELECT value, 100.0 * row_number() OVER (ORDER BY value) / count(id) OVER () AS percent
    FROM data) AS sub
GROUP BY n ORDER BY n;
Ответить 
Старый 18.10.2013 15:33   #60  
uParty Member Known ID Group Ultimate
Аватар для OmoN
Оффлайн
програмщег
Сообщений: 4,971
+ 2,743  5,086/2,116
– 69  99/68

Uzbekistan
Цитата:
Сообщение от Rooslan Khayrov Посмотреть сообщение
Самый редуцированный вариант: для заданной таблицы посчитать некую агрегатную функцию для каждых N строк.
Решение на Oracle:
PHP код:
create table TASK_3
(
  
id  NUMBER,
  
val NUMBER

id, val: 0-99
Если в поле Id нет дырки:
PHP код:
Select 0IdVal
  From Task_3
Union
Select 1
,
       
Max(IdOver(Partition By Trunc(Id 10)),
       
Sum(ValOver(Partition By Trunc(Id 10))
  
From Task_3
 Order By 2

Если в поле Id дырки придется поработать с Rownum:
PHP код:
Select 0IdVal
  From Task_3
Union
Select 1
,
       
Max(RnOver(Partition By Trunc(Rn 10)),
       
Sum(ValOver(Partition By Trunc(Rn 10))
  
From (Select IdValRownum Rn From Task_3 Order By 1)
 
Order By 2
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер.

Последний раз редактировалось OmoN; 18.10.2013 в 15:49.
Ответить 
Ответить
Опции темы
Опции просмотра




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх