Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Уникальные пары с конца таблицы
 
 автор: Port_Artur3   (28.07.2015 в 00:21)   письмо автору
 
 

Есть таблица с полями id_gorod, gorod1, gorod2, date, time
Нужно выбрать уникальные пары с конца таблицы

1 sidorovka ivanovka 2015-07-08 15:15:00
2 petrovka ivanovka 2015-07-08 15:18:00
3 durovo ivanovka 2015-07-08 15:19:00
4 sochi ivanovka 2015-07-08 15:20:00
5 sidorovka ivanovka 2015-07-08 15:22:00
6 sidorovka ivanovka 2015-07-08 15:22:00
7 rostov ivanovka 2015-07-08 15:22:00
8 sidorovka ivanovka 2015-07-08 15:24:00
9 moskva ivanovka 2015-07-08 15:25:00
10 sochi ivanovka 2015-07-08 15:26:00
11 sidorovka ivanovka 2015-07-08 15:27:00
12 petrovka ivanovka 2015-07-08 15:28:00
13 petrovka ivanovka 2015-07-08 15:28:00

Нужно вывести 6 уникальных пар записей с конца .

т.е. должно получиться так (в скобках номер id чтобы была понятна очерёдность):
(13) petrovka ivanovka
(11) sidorovka ivanovka
(10) sochi ivanovka
(9) moskva ivanovka
(7) rostov ivanovka
(3) durovo ivanovka

Сейчас, вот такой запрос но он работает неправильно:

SELECT gorod1, gorod2 FROM db GROUP BY gorod1, gorod2 ORDER BY id_gorod DESC LIMIT 6


Если пар petrovka ivanovka 7, нужно обязательно вывести последнюю из 7-ми запись в базе. И так со всеми.

Помогите пожалуйста.

  Ответить  
 
 автор: Port_Artur3   (28.07.2015 в 20:17)   письмо автору
 
   для: Port_Artur3   (28.07.2015 в 00:21)
 

Кто-нибудь знает как?!

  Ответить  
 
 автор: Igorek   (28.07.2015 в 20:55)   письмо автору
 
   для: Port_Artur3   (28.07.2015 в 20:17)
 

<?php
SELECT gorod1
gorod2
FROM db
GROUP BY gorod1
gorod2
ORDER BY MAX
(id_gorodDESC
LIMIT 6

  Ответить  
 
 автор: Port_Artur3   (29.07.2015 в 00:05)   письмо автору
 
   для: Igorek   (28.07.2015 в 20:55)
 

Igorek, работает неправильно.

Очерёдность по названиям с конца правильное, но вот вот время записи почему-то указывает как время первой подобной записи в базе.

  Ответить  
 
 автор: Igorek   (29.07.2015 в 07:33)   письмо автору
 
   для: Port_Artur3   (29.07.2015 в 00:05)
 

Работает так, как вы просили:
т.е. должно получиться так (в скобках номер id чтобы была понятна очерёдность):
(13) petrovka ivanovka
(11) sidorovka ivanovka
(10) sochi ivanovka
(9) moskva ivanovka
(7) rostov ivanovka
(3) durovo ivanovka

вы сами написали, что желаете получить. Ни намека на время записи и что-либо еще.

<?
SELECT 
*
FROM db
WHERE id IN 
(
  
SELECT MAX(id_gorod)
  
FROM db
  GROUP BY gorod1
gorod2 
)
ORDER BY id_gorod DESC
LIMIT 6

  Ответить  
 
 автор: Port_Artur3   (29.07.2015 в 11:37)   письмо автору
 
   для: Igorek   (29.07.2015 в 07:33)
 

Сейчас работает именно так как я просил.

Если пар petrovka ivanovka 7, нужно обязательно вывести последнюю из 7-ми запись в базе


Последнюю, значит и по времени тоже последнюю, ну это же логично.

Сейчас всё правильно выводит.
СПАСИБО БОЛЬШОЕ!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования