powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Добрый день. Помогите составить запрос
12 сообщений из 12, страница 1 из 1
Добрый день. Помогите составить запрос
    #39963263
Evgeniux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите составить запрос на выборку из базы.
Структура таблицы:
id int(7)
user_id int(11)
p_id tinyint(3)
value int(7)
position tinyint(1) 0 - morning, 1 - evening
date date
В таблицу вносятся показания электросчетчика утром и вечером (столбец position: 0 - morning, 1 - evening). В день может быть только две записи. В запросе требуется отобразить разность между показаниями вечера и утра.

Пример: 20.05.20г. утро - 295300, вечер - 295315. В запросе отобразить разницу 15 за 20.05.20.
Или может быть изменить структуру таблицы, чтоб проще было.
Заранее спасибо.
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963380
olga_fff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Evgeniux,
добрый день.
мб так ?
with z
(
select
count (case when position=1 then id end) as kol_vecher,
count (case when position=0 then id end) as kol_den
,date
from tables
)
select date,kol_vecher,kol_den,( kol_vecher-kol_den) as raz
from z
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963384
Evgeniux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, попробую!
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963388
olga_fff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
****with z AS (
........
)
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963442
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeniux
В день может быть только две записи.

Очень интересно узнать, как именно это обеспечивается... триггером?

Evgeniux
требуется отобразить разность между показаниями вечера и утра.

Код: sql
1.
2.
3.
SELECT `date`, SUM(value*position) - SUM(value*(1-position)) delta
FROM source_table
GROUP BY `date`


Если где-то по ошибке нет какой-то записи или две записи одного типа - за этот день получится фигня.
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963453
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olga_fff
****with z AS
А вы в курсе какая именно версия MySQL у автора?
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963525
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99 , не обращай внимания - она MySQL и Sql Server не различает, а ты про какие-то версии...
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963950
Evgeniux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99,

версия 5.5.62-0+deb8u1
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963953
Evgeniux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

проверка другим запросом в базу, узнаю есть ли запись за этот день и за время дня, если нету, то добавляю новую.
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39963972
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeniux
проверка другим запросом в базу, узнаю есть ли запись за этот день и за время дня, если нету, то добавляю новую.
Т.е. клиентская логика... значит, можно считать что не обеспечивается вообще ничем. Это плохо...
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39964045
Evgeniux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

а чем это плохо?
...
Рейтинг: 0 / 0
Добрый день. Помогите составить запрос
    #39964086
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любые сбои или несанкционированные действия способны привести к появлению несогласованных данных. И вместо показаний счётчика ты получишь прогноз погоды...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Добрый день. Помогите составить запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]