Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 33
1

Какую конструкцию использовать

10.06.2014, 09:39. Показов 1139. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день прошу вашей помощи в правильном составлении запроса на вывод инфы с объемной таблицы.
имеется таблица1 следующая структура:

 
id pole1g/n pole2_time
1 А456НЕ56 2014-06-10 10:50:00
2 А456НЕ56 2014-06-10 10:50:30
3 А456НЕ56 2014-06-10 10:51:20
4 В999РК56 2014-06-10 13:20:20
5 В999РК56 2014-06-10 13:20:40
6 В999РК56 2014-06-10 13:21:20
7 А456НЕ56 2014-06-10 14:50:00
8 А456НЕ56 2014-06-10 14:50:30
9 А456НЕ56 2014-06-10 14:51:20
10 У500ПР56 2014-06-10 14:30:00
11 У500ПР56 2014-06-10 14:30:40
12 У500ПР56 2014-06-10 14:31:10
Как вывести по максимальному времени госномер, только одну запись в каждой группе:
т.е. какой конструкцией достичь результата:

3 А456НЕ56 2014-06-10 10:51:20
6 В999РК56 2014-06-10 13:21:20
9 А456НЕ56 2014-06-10 14:51:20
12 У500ПР56 2014-06-10 14:31:10
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2014, 09:39
Ответы с готовыми решениями:

Подскажите какую БД использовать
Здравствуйте, товарищи! Очень нужна помощь. Дали задание: необходима база данных, в которой будут...

Какую СУБД использовать
Здравствуйте. Вообщем разрабатывал по учебе программу одну, использую язык c#. В качестве СУБД...

Какую СУБД использовать при создании БД
Здравствуйте, форумчане!!! На следующий год будет дипломная. Были идеи по поводу создания БД на...

Электронный словарь, какую БД лучше использовать?
Всем привет. Хочу создать электронный словарь. Буду работать на C#. Какую БД лучше использовать?...

3
Эксперт MS Access
17487 / 7249 / 1651
Регистрация: 21.06.2012
Сообщений: 13,866
10.06.2014, 12:15 2
Лучший ответ Сообщение было отмечено Reni как решение

Решение

Зависит от базы данных (здесь SQL 92)
SQL
1
2
SELECT Таблица1.id, Таблица1.pole1_gn, Таблица1.pole2_time
FROM Таблица1 INNER JOIN (SELECT pole1_gn, MAX(pole2_time) AS Max_Time FROM Таблица1 GROUP BY pole1_gn) AS QQ ON Таблица1.pole2_time=QQ.Max_Time
Добавлено через 1 час 38 минут
Забыл второе поле
SQL
1
2
SELECT Таблица1.id, Таблица1.pole1_gn, Таблица1.pole2_time
FROM Таблица1 INNER JOIN (SELECT pole1_gn, MAX(pole2_time) AS Max_Time FROM Таблица1 GROUP BY pole1_gn)  AS QQ ON (Таблица1.pole1_gn = QQ.pole1_gn) AND (Таблица1.pole2_time = QQ.Max_Time);
1
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 33
10.06.2014, 13:06  [ТС] 3
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$sql1="
SELECT
  a1.plate_recognized,
  a1.time_best,
  a1.lpr_id,
  a1.lpr_name,
  a1.lpr_type,
  a1.direction_name
FROM
  tobackup.t_log as a1
INNER JOIN (SELECT plate_recognized, MAX(time_best) AS Max_Time FROM tobackup.t_log GROUP BY plate_recognized) AS QQ
ON (a1.time_best=QQ.Max_Time) AND (a1.time_best = QQ.Max_Time)
 
 
WHERE
a1.plate_recognized NOT LIKE '%?%' and a1.country_standard='GOST1' and ";
 
 IF ($period==0) { $sql1=$sql1." date(a1.time_best)='$dataX1' ";}
 IF ($period==1) { $sql1=$sql1." date(a1.time_best)>='$dataX1' and date(a1.time_best)<='$dataX2' ";}
 $sql1=$sql1."  order by a1.time_best asc";
вот мой вариант исходя из ваших подсказок , но пишет что время превышено
где зарыта то собака не пойму

Добавлено через 25 минут
ltv_1953 все заработало додумал на примере. При объединении ограничел тоже выборку датой и все заработало!!!
0
Модератор
Эксперт MS Access
11962 / 4830 / 779
Регистрация: 07.08.2010
Сообщений: 14,149
Записей в блоге: 4
10.06.2014, 15:02 4
это так и должно быть, повтор гос номера в разных группах
id pole1g/n pole2_timeпримечание
1 А456НЕ56 2014-06-10 10:50:00гр1
2 А456НЕ56 2014-06-10 10:50:30 
3 А456НЕ56 2014-06-10 10:51:20 
4 В999РК56 2014-06-10 13:20:20гр2
5 В999РК56 2014-06-10 13:20:40 
6 В999РК56 2014-06-10 13:21:20 
7 А456НЕ56 2014-06-10 14:50:00гр3, повтор гр1 с другим временем
8 А456НЕ56 2014-06-10 14:50:30 
9 А456НЕ56 2014-06-10 14:51:20 
10 У500ПР56 2014-06-10 14:30:00гр4
11 У500ПР56 2014-06-10 14:30:40 
12 У500ПР56 2014-06-10 14:31:10 
1
10.06.2014, 15:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2014, 15:02
Помогаю со студенческими работами здесь

Какую бд использовать, как организовать доступ?
Добрый день/вечер/ночь/утро. Нужно организовать бд, в которой будут храниться значения ключ -...

Как использовать конструкцию Если в запросе (SQL)
Есть такой запрос: (в смысле его код) SELECT * FROM WHERE ((( . BETWEEN () AND ())));...

Какую функцию даты использовать в запросе?
В таблице найти всех сотрудников, поступивших или переведенных в заданный отдел 1 апреля независимо...

Какую СУБД лучше использовать?
Подскажите, какое СУБД лучше подойдет для моего задания? Задание: Отделение почты каждое...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru