Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510

Выгрузить только не повторяющиеся записи из MySQL

18.03.2016, 12:22. Показов 1380. Ответов 13

Студворк — интернет-сервис помощи студентам
Всем привет! Господа, срочно нужна ваша помощь, задача такая:
В базу данных поступают записи о входящих звонках. Когда кто-то звонит, звонок проходит сразу по нескольким каналам (звонок поступает на несколько телефонов). И когда кто-то поднимает трубку - звонок считается отвеченным, и в базе данных помечается как ANSWERED. В базе данных есть 4 столбца (дата, канал, телефон и статус). И когда звонит один абонент, в базе данных получается такая картина:
Дата | Канал | Телефон | Статус
2016-02-29 08:05:48 Can2 89511111111 NO ANSWERED
2016-02-29 08:05:49 Can4 89511111111 NO ANSWERED
2016-02-29 08:05:49 Can8 89511111111 ANSWERED
2016-02-29 08:05:49 Can6 89511111111 NO ANSWERED

Получается, что на четырех аппаратах взяли трубку только на одном, а остальные остаются как не отвеченные. Каналы и входящие номера могут быть разные. Мне нужно чтобы выводило вместе трех (допустим) не отвеченных, только одну запись с номером. То есть такого вида:

2016-02-29 08:05:48 Can2 89511111111 NO ANSWERED

Очень прошу помочь, всем плюсы в карму обеспечены!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2016, 12:22
Ответы с готовыми решениями:

Обработать список так, чтоб он содержал только повторяющиеся записи
Есть List<string, string> с большим количеством данных вида параметр1 значение1 параметр2 значение1 параметр3 значение2 ...

Как получить ID только что вставленной записи в MySQL ?
Пробовал: mysql_insert_id(); но она возвращает только 0. Вот моя функция: function addNewWorker($name, $email, $select, $radio){ ...

Как узнать ID только что сделанной записи в MYSQL?
У меня есть MYSQL процедура где я вставляю запись в таблицу и потом возвращаю его id, это я делаю или с SELECT LAST_INSERT_ID() или SELECT...

13
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
18.03.2016, 12:43
Цитата Сообщение от ember74 Посмотреть сообщение
только одну запись с номером.
С какими данными (дата, время)?
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
18.03.2016, 12:49  [ТС]
Дата и время это одно поле - дата. Формат такой. Нужно чтобы выгружало поля: дата, номер, статус
т.е. в поле Дата выгружается дата такого формата "2016-02-29 08:05:49"
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
18.03.2016, 14:59
Цитата Сообщение от ember74 Посмотреть сообщение
Дата выгружается дата такого формата
Формат неважен. Если есть несколько записей с разным значением поля (как в примере), то какое значение выводить?
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
18.03.2016, 15:46  [ТС]
Вот смотрите, звонок поступает на четыре телефона, исходя из статуса берет трубку только один.
Цитата Сообщение от ember74 Посмотреть сообщение
2016-02-29 08:05:48 Can2 89511111111 NO ANSWERED
2016-02-29 08:05:49 Can4 89511111111 NO ANSWERED
2016-02-29 08:05:49 Can8 89511111111 ANSWERED
2016-02-29 08:05:49 Can6 89511111111 NO ANSWERED
Но, у первых двух неотвеченных звонков разное время, но по сути - звонок один. Как сделать, чтобы выводилась только одна строка
2016-02-29 08:05:49 Can4 89511111111 NO ANSWERED
---------дата---------канал-----номер----------статус----
То, что с черточками это посянения к данным.

Добавлено через 3 минуты
Задача состоит в том, чтобы посчитать количество пропущенных номеров
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
18.03.2016, 15:47
Цитата Сообщение от ember74 Посмотреть сообщение
Как сделать, чтобы выводилась только одна строка
Еще раз повторюсь. Если мы выводим из БД строку, а не конструируем ее искусственно, то мы должны определиться с критериями отбора. Почему мы выводим строку, где 49 сек, а не ту, где 48 сек?
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
18.03.2016, 16:00  [ТС]
Можем и ту где 48.

Добавлено через 3 минуты
Просто может быть и такой вариант
Цитата Сообщение от ember74 Посмотреть сообщение
2016-02-29 08:05:49 Can2 89511111111 NO ANSWERED
2016-02-29 08:05:49 Can4 89511111111 NO ANSWERED
2016-02-29 08:05:49 Can8 89511111111 ANSWERED
2016-02-29 08:05:49 Can6 89511111111 NO ANSWERED
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
19.03.2016, 00:22
ember74, наверно так:
... WHERE `статус` = 'NO ANSWERED' GROUP BY `номер`

но не совсем понятно что вы хотите видеть на экране
опишите задачу

Добавлено через 2 минуты
Цитата Сообщение от ember74 Посмотреть сообщение
Задача состоит в том, чтобы посчитать количество пропущенных номеров
можно так
SQL
1
SELECT COUNT(*) AS num_no_ansvered WHERE `статус` = 'NO ANSWERED' GROUP BY `номер`
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
19.03.2016, 01:02
SQL
1
SELECT DISTINCT column_name, column_name FROM TABLE_NAME;
Цитата Сообщение от Виталюска Посмотреть сообщение
Задача состоит в том, чтобы посчитать количество пропущенных номеров
оператор не взял трубку
это не пропущенный номер

Постройте для лучшего понимания схемы для себя
И я когда то так делал
https://jsfiddle.net/vlasenkofedor/d6nyD/
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
21.03.2016, 07:21  [ТС]
Цитата Сообщение от Виталюска Посмотреть сообщение
SELECT COUNT(*) AS num_no_ansvered WHERE `статус` = 'NO ANSWERED' GROUP BY `номер`
На экране необходимо вывести количество уникальных непринятых вызовов.
Цитата Сообщение от Poznakomlus Посмотреть сообщение
оператор не взял трубку
это не пропущенный номер
И количество таких значений тоже нужно вывести. Только как это сделать
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
21.03.2016, 10:15  [ТС]
Для лучшего понимания прикрепляю скрин
Миниатюры
Выгрузить только не повторяющиеся записи из MySQL  
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
21.03.2016, 10:23  [ТС]
и тут такое дополнение, если звонок поступил на 3 канала (аппарата), то номер грубо говоря 7777777, а если 4 канала, то номер 7888888. Таким образом на номере 7777777 может быть только 3 канала (телефонных аппарата), а на номере 7888888 может быть только 4 канала (телефонных аппарата)
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
21.03.2016, 23:00
ember74, зачем звонить всем абонентам сразу
работайте с очередями звонков и операторов
появился свободный оператор ему звонок, не взял трубку в т.ч 10-15 секунд звонок следующему
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
22.03.2016, 07:07  [ТС]
Никому звонить не нужно, необходимо посчитать количество неотвеченных звонков. Вывести число на экран..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2016, 07:07
Помогаю со студенческими работами здесь

Отображение значения ключа только что добавленной записи в DataGridView связанного с таблицей на сервере MySQL
Привет! Возник вопрос, который уже задавался наверное много раз, но внятного ответа я не нашел. Смотрите: 1) У меня есть datagridview...

Выгрузить с 1С в mysql
Подскажите почему выдает ошибку {Форма.Форма.Форма(16)}: Ошибка при вызове метода контекста (Open) conn.open(ConnectionString); по...

Выгрузить данные из бд Mysql в файл XML
Приветствую. Подскажите как можно как можно сделать выгрузку данных из Mysql в файл XML.

Повторяющиеся записи + записи без повторов
Банальщина. Создаю базу данных, информация простая - есть Адреса, Фамилии, Год рождения и Дата прописки. Всё это в списках. Начальство...

Даны два слова. Напечатать только те буквы слов, которые есть только в одном из них (в том числе повторяющиеся)
Даны два слова. Напечатать только те буквы слов, которые есть только в одном из них (в том числе повторяющиеся). Например, если заданные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru