2015-08-04 4 views
0

У меня есть таблица (изображение прилагается). enter image description hereВыбор отдельных записей в mysql на основе только одного столбца

Я хочу выбрать только отдельные записи, основанные на constant_token no. Я хочу получить результат следующим образом: enter image description here

Как выбрать отдельные записи на основе только одного столбца в mysql?

+0

Я не может видеть Прикрепленные изображения –

+0

Итак, какие записи вы хотите вернуться в случае, если есть несколько записей с одинаковым permanent_token? –

+0

Запись с самой старой датой и временем ввода –

ответ

1

Ниже просто Например, вам нужно будет разобрать отдельную дату & столбцов времени.

SQL Fiddle

MySQL 5.6 Настройка схемы:

CREATE TABLE Table1 
    (`date` date, `time` time, `permanent_token` varchar(8), `RID` int, `SID` int) 
; 

INSERT INTO Table1 
    (`date`, `time`, `permanent_token`, `RID`, `SID`) 
VALUES 
    ('2015-08-04 00:00:00', '12:40:41', 'HPC12334', 12, 34), 
    ('2015-08-04 00:00:00', '15:15:15', 'HPC12334', 18, 37), 
    ('2015-08-04 00:00:00', '08:09:10', 'ABX2334', 48, 47) 
; 

Запрос 1:

select t.* 
from table1 as t 
inner join (
    select permanent_token, `date` , MIN(`time`) as minTime 
    from table1 
    group by permanent_token, `date` 
) as gby on t.permanent_token = gby.permanent_token 
      and t.`date` = gby.`date` 
      and t.`time` = gby.minTime 

Results:

|      date |      time | permanent_token | RID | SID | 
|--------------------------|---------------------------|-----------------|-----|-----| 
| August, 04 2015 00:00:00 | January, 01 1970 12:40:41 |  HPC12334 | 12 | 34 | 
| August, 04 2015 00:00:00 | January, 01 1970 08:09:10 |   ABX2334 | 48 | 47 | 
+0

надеюсь, вы сможете увидеть полезность небольшого образца (многоразовых) данных при задании ваших вопросов –

+0

Спасибо. С этого момента позаботимся.! :) –

0

Вы можете попробовать со следующими параметрами:

select DISTINCT(permenent_token),othercolumnname from tablename order by permenent_token desc 
+0

как 'othercolumnname' будет агрегироваться? – mangusta

+0

«select different» - это операция в строке, эти круглые скобки просто игнорируются. –

+0

выберите DISTINCT (постоянный_token), RID, SID, date_FORMAT (дата, '% d% b% y'), TIME_FORMAT (время,% h:% i% p), название, сообщение, temp_token, статус, приоритет от жалобы; –

0

использование Mysql отчетливый ключевое слово

EDIT:

SELECT * FROM table GROUP BY permanent_token; 

объяснить: http://www.mysqltutorial.org/mysql-distinct.aspx

+0

ОПИСАНИЕ НЕ является функцией, синтаксис различен - это опция выбора. DISTINCTROW является синонимом для разных, то есть работает по всей строке не только по первому столбцу, либо по столбцам, содержащимся в круглых скобках. –

+0

yeap, я был неправ, я отредактировал ответ, спасибо (^. ^) – yumianyang

0
$sql = "select DISTINCT(coloumn_name) from tablename"; 
Смежные вопросы