|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.12.2010, 12:57 | #1 |
Форумчанин
Регистрация: 24.04.2008
Сообщений: 440
|
Узнать даты по дням и вывести сумму по определенному столбцу
Есть у меня например 100 записей, из которых 30 записей на 01.02.03
30 записей 02.02.03 и 40 записей 03.02.03, и есть еще два столбца kilogramm1, kilogramm2, мне надо сгрупировав даты и вывести одну после последней самой записи например с датой 01.02.03 - строку с суммой killogramm1-killogramm2 например есть date|killogramm1|killogramm2 01.02.03|1.1|1.2 01.02.03|1.2|1.3 01.02.03|1.3|1.1 01.02.03|1.5|1.0 01.02.03|1.6|1.9 02.02.03|1.1|1.2 02.02.03|1.2|1.3 02.02.03|1.3|1.1 02.02.03|1.5|1.0 02.02.03|1.6|1.9 03.02.03|1.1|1.0 03.02.03|1.2|1.0 03.02.03|1.3|1.1 03.02.03|1.5|1.0 03.02.03|1.6|1.9 и мне надо, чтобы записи добавлялись после последней записи с определенной датой, как узнать какая запись из всех дат последняя date|SUM((killogramm2)-(killogramm1)) 01.02.03|6.5 02.02.03|6.5 03.02.03|6.0 Код:
1 старый программист, лучше новых 2-х
Последний раз редактировалось Droid; 01.12.2010 в 13:05. |
01.12.2010, 13:20 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) какая СУБД ?
2) Вы уверены, что Вам именно в выборке нужно получить результаты в отдельной строке , после каждой даты ?! чем вариант Дата . Сумма_Разностей не устраивает? или я неверно понял и проблема в том, что сумма получается не точно такая?! Так добавьте округление до стольки знаков после запятой, сколько могут иметь входные параметры. в вашем случае округление до десятых Вас спасёт... |
01.12.2010, 14:29 | #3 |
Форумчанин
Регистрация: 24.04.2008
Сообщений: 440
|
Ну например если 1 значения поля равно -3 а второе 3.4 разница между ними и сумму он мне выдает 3.999999999 а не 3.4. Не вкурсе насчет как он округляет, но мне нужно точное число 3.4 и чтоб в последующе получал только точную разницу. И нужно узнать, что именно из 30 строк с датой 01.02.03 именно 29 последняя с такой датой. Мне нужно после всех дат с 01.02.03 получить сумму разности 2-х столбцов.
СУБД MSSQL
1 старый программист, лучше новых 2-х
Последний раз редактировалось Droid; 01.12.2010 в 17:06. |
01.12.2010, 19:34 | #4 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
чота постановка задачи неалё
всё на телепатах держится тебе в имеющиеся данные нужно добавить инфу о разнице двух полей для каждой даты? а в какое поле ты собрался выводить эту разницу? и что это за числа такие? - они чота никак не согласуются с приведенными данными Цитата:
|
|
02.12.2010, 09:25 | #5 |
Пользователь
Регистрация: 13.10.2010
Сообщений: 96
|
То, что выдается 3.3999999999, а не 3.4, лечится только принудительным округлением. Помнится еще в Access'e был баг такой.
А чтобы определить, какая из строк будет последней в наборе данных, нужно их отсортировать по какому-либо признаку, т.к. при разных сортировках разные строки будут последними. Дата в данном случае не подходит, т.к. она у всей подгруппы равна. Нужно либо дата+время, либо дата + что-то еще
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
|
02.12.2010, 14:03 | #6 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
вы там вручную их обрабатывать собрались?
подытоги можно добавить обычным юнионом а чтобы эти данные вывести в нормальном виде нужно ввести в оба датасета фиктивное поле, которое даст возможность верно отсортировать набор данных типа такого для всего набора данных вводим - 0 as f0 для добавляемого с подытогами - 1 as f0 и тогда сортировка будет выглядеть так order by date, f0, ... З.Ы.: ну и минус вам в карму за обзывание полей в базе ключевыми словами |
02.12.2010, 16:16 | #7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти сумму элементов и вывести согласные буквы | Ilya87 | Помощь студентам | 3 | 28.03.2010 04:08 |
Вывести сумму чисел из строки | Айдар | Помощь студентам | 17 | 20.06.2009 23:39 |
:'( вывести даты которые прошли... | Julia_Lisha | SQL, базы данных | 1 | 17.05.2009 13:44 |
Вывести даты рождения лежащие в интервале | XuTpbIu | SQL, базы данных | 5 | 25.03.2009 16:47 |
В двумерном массиве 4*5 найти сумму элементов по строке или столбцу. | bkmz | Помощь студентам | 11 | 16.04.2008 11:17 |