Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / DISTINCT по двум полям / 21 сообщений из 21, страница 1 из 1
21.10.2004, 11:08
    #32747862
jumperFF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
Есть запрос, надо выбрать DISTINCT s_telnomer
Код: plaintext
SELECT DISTINCT s_id, s_telnomer FROM sales
не получается :(
...
Рейтинг: 0 / 0
21.10.2004, 12:59
    #32748278
q32768
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
select distinct on (field1, field2) field1,field,field3 from table1
...
Рейтинг: 0 / 0
21.10.2004, 13:40
    #32748389
vadimm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
jumperFFЕсть запрос, надо выбрать DISTINCT s_telnomer
Код: plaintext
SELECT DISTINCT s_id, s_telnomer FROM sales
не получается :(
это должно работать, какое сообщение об ошибке ?
...
Рейтинг: 0 / 0
21.10.2004, 15:23
    #32748656
jumperFF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
q32768select distinct on (field1, field2) field1,field,field3 from table1 не работает - говорит
Код: plaintext
Error: ERROR: syntax error at or near "FROM"
...
Рейтинг: 0 / 0
21.10.2004, 15:27
    #32748665
jumperFF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
vadimm jumperFFЕсть запрос, надо выбрать DISTINCT s_telnomer
Код: plaintext
SELECT DISTINCT s_id, s_telnomer FROM sales
не получается :(
это должно работать, какое сообщение об ошибке ? Нет сообщений, просто выводит всё как будто бы небыло DISTINCT :(
...
Рейтинг: 0 / 0
21.10.2004, 15:55
    #32748747
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
SELECT DISTINCT s_telnomer FROM sales
...
Рейтинг: 0 / 0
21.10.2004, 16:00
    #32748759
vadimm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
странно !? у меня всё ОК:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE sales
(
  s_id int2,
  s_telnomer char( 10 ),
  s_test char( 3 ) NOT NULL
) 
WITH OIDS;

INSERT INTO sales VALUES ( 1 ,'12345','1');
INSERT INTO sales VALUES ( 2 ,'23456','1');
INSERT INTO sales VALUES ( 2 ,'23456','2');

SELECT DISTINCT s_id, s_telnomer FROM sales;
а вот результат :
Код: plaintext
1.
2.
3.
4.
s_id | s_telnomer
 --------------------- 
 1      |  "12345     "
 2      |  "23456     "
...
Рейтинг: 0 / 0
21.10.2004, 16:08
    #32748786
vadimm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
q32768select distinct on (field1, field2) field1,field,field3 from table1
...кстати, спасибо за совет !
Не знал, что так можно, а это очень удобная конструкция...
...
Рейтинг: 0 / 0
21.10.2004, 16:46
    #32748868
jumperFF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
vadimm q32768select distinct on (field1, field2) field1,field,field3 from table1
...кстати, спасибо за совет !
Не знал, что так можно, а это очень удобная конструкция...
Да низзя так!!! Нифига не получается
...
Рейтинг: 0 / 0
21.10.2004, 16:48
    #32748875
jumperFF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
vadimmстранно !? у меня всё ОК:
.....
А так не хочешь попробовать?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE sales
(
  s_id int2,
  s_telnomer char( 10 ),
   --s_test char(3) NOT NULL 
) 
WITH OIDS;

INSERT INTO sales VALUES ( 1 ,'12345');
INSERT INTO sales VALUES ( 2 ,'23456');
INSERT INTO sales VALUES ( 3 ,'23456');

SELECT DISTINCT s_id, s_telnomer FROM sales;
...
Рейтинг: 0 / 0
22.10.2004, 04:40
    #32749458
q32768
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
jumperFF vadimm q32768select distinct on (field1, field2) field1,field,field3 from table1
...кстати, спасибо за совет !
Не знал, что так можно, а это очень удобная конструкция...
Да низзя так!!! Нифига не получается

Какая версия у тебя? На 7.4.3 под *nix точно так работает
...
Рейтинг: 0 / 0
22.10.2004, 10:24
    #32749741
vadimm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
jumperFF... А так не хочешь попробовать?
И так полный порядок !
Какая версия Postgresa у тебя ?
...
Рейтинг: 0 / 0
22.10.2004, 10:28
    #32749751
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
q32768 jumperFF q32768select distinct on (field1, field2) field1,field,field3 from table1Да низзя так!!! Нифига не получаетсяКакая версия у тебя? На 7.4.3 под *nix точно так работаетЭто добавлено в 7.0. Какая версия у вас?
./release-7-0.html:Add SELECT DISTINCT ON (expr [, expr ...]) targetlist ... (Tom)

автор А так не хочешь попробовать?

INSERT INTO sales VALUES (1,'12345');
INSERT INTO sales VALUES (2,'23456');
INSERT INTO sales VALUES (3,'23456');Попробовать без проблем! Только вы скажите, какой результат хотите. Это знаете только вы, и никому не говорите. :-(((

1,'12345'
2,'23456'
3,'23456'
или
1,'12345'
2,'23456'
или
'12345'
'23456'
или
какой-то другой?
...
Рейтинг: 0 / 0
22.10.2004, 13:32
    #32750368
jumperFF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
Хочется получить
Код: plaintext
1.
 1 ,'12345'
 2 ,'23456'
...
Рейтинг: 0 / 0
22.10.2004, 13:37
    #32750385
vadimm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
Этот результат и получается !?
Всё-таки уточни версию сервера.
...
Рейтинг: 0 / 0
22.10.2004, 13:42
    #32750411
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
SELECT DISTINCT ON (s_telnomer) s_id, s_telnomer FROM sales order by s_telnomer, s_id

Какая у вас версия постгреса?
...
Рейтинг: 0 / 0
22.10.2004, 15:17
    #32750749
jumperFF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
LeXa NalBatSELECT DISTINCT ON (s_telnomer) s_id, s_telnomer FROM sales order by s_telnomer, s_id

Какая у вас версия постгреса?
Код: plaintext
1.
> postmaster --version
postmaster (PostgreSQL) 7.4.5
...
Рейтинг: 0 / 0
22.10.2004, 17:17
    #32751075
Shweik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
Хмм.... с версии 7.3 я никаких багов в работе DISTINCT не наблюдал.
Тестовый пример :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
drop table sales;                                                          
CREATE TABLE sales                                                         
(                                                                          
 s_id int2,                                                                
 s_telnomer char( 10 )                                                       
                                                                           
 )                                                                         
 WITH OIDS;                                                                
                                                                           
 INSERT INTO sales VALUES ( 1 ,'12345');                                     
 INSERT INTO sales VALUES ( 2 ,'23456');                                     
 INSERT INTO sales VALUES ( 3 ,'23456');                                     
 INSERT INTO sales VALUES ( 3 ,'23456');                                     
 INSERT INTO sales VALUES ( 3 ,'23456');                                     
 INSERT INTO sales VALUES ( 4 ,'23456');                                     
 INSERT INTO sales VALUES ( 4 ,'23456');                                     
 select count(*) from sales;                                               
 SELECT DISTINCT on (s_id, s_telnomer) s_id, s_telnomer  FROM sales;       
 select version();
И результат :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
DROP TABLE                                 
CREATE TABLE                               
INSERT  4242128   1                            
INSERT  4242129   1                            
INSERT  4242130   1                            
INSERT  4242131   1                            
INSERT  4242132   1                            
INSERT  4242133   1                            
INSERT  4242134   1                            
 count                                     
 -------                                     
      7                                      
( 1  row)                                    
                                           
 s_id | s_telnomer                         
 ------+------------                         
     1  |  12345                               
     2  |  23456                               
     3  |  23456                               
     4  |  23456                               
( 4  rows)       
                              version                                  
 -------------------------------------------------------------------     
 PostgreSQL  7 . 4  on i386-unknown-freebsd4. 4 , compiled by GCC  2 . 95 . 3      
( 1  row)                                                                                            
...
Рейтинг: 0 / 0
22.10.2004, 17:40
    #32751122
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
он кажется хочет:
Код: plaintext
1.
2.
SELECT DISTINCT ON (s_telnomer) s_id, s_telnomer
  FROM sales
ORDER BY s_telnomer, s_id;  
...
Рейтинг: 0 / 0
22.10.2004, 17:49
    #32751137
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
4321он кажется хочет:
Код: plaintext
1.
2.
SELECT DISTINCT ON (s_telnomer) s_id, s_telnomer
  FROM sales
ORDER BY s_telnomer, s_id;  
да, кажется, что она этого хочет. кажется... :)
...
Рейтинг: 0 / 0
22.10.2004, 17:57
    #32751158
jumperFF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCT по двум полям
Огромное всем спасибо незнаю почему, но теперь всё получается :)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / DISTINCT по двум полям / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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