powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / DISTINCT по двум полям
21 сообщений из 21, страница 1 из 1
DISTINCT по двум полям
    #32747862
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос, надо выбрать DISTINCT s_telnomer
Код: plaintext
SELECT DISTINCT s_id, s_telnomer FROM sales
не получается :(
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32748278
q32768
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select distinct on (field1, field2) field1,field,field3 from table1
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32748389
vadimm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jumperFFЕсть запрос, надо выбрать DISTINCT s_telnomer
Код: plaintext
SELECT DISTINCT s_id, s_telnomer FROM sales
не получается :(
это должно работать, какое сообщение об ошибке ?
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32748656
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
q32768select distinct on (field1, field2) field1,field,field3 from table1 не работает - говорит
Код: plaintext
Error: ERROR: syntax error at or near "FROM"
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32748665
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadimm jumperFFЕсть запрос, надо выбрать DISTINCT s_telnomer
Код: plaintext
SELECT DISTINCT s_id, s_telnomer FROM sales
не получается :(
это должно работать, какое сообщение об ошибке ? Нет сообщений, просто выводит всё как будто бы небыло DISTINCT :(
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32748747
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT DISTINCT s_telnomer FROM sales
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32748759
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','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
DISTINCT по двум полям
    #32748786
vadimm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q32768select distinct on (field1, field2) field1,field,field3 from table1
...кстати, спасибо за совет !
Не знал, что так можно, а это очень удобная конструкция...
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32748868
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadimm q32768select distinct on (field1, field2) field1,field,field3 from table1
...кстати, спасибо за совет !
Не знал, что так можно, а это очень удобная конструкция...
Да низзя так!!! Нифига не получается
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32748875
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
DISTINCT по двум полям
    #32749458
q32768
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jumperFF vadimm q32768select distinct on (field1, field2) field1,field,field3 from table1
...кстати, спасибо за совет !
Не знал, что так можно, а это очень удобная конструкция...
Да низзя так!!! Нифига не получается

Какая версия у тебя? На 7.4.3 под *nix точно так работает
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32749741
vadimm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jumperFF... А так не хочешь попробовать?
И так полный порядок !
Какая версия Postgresa у тебя ?
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32749751
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
DISTINCT по двум полям
    #32750368
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочется получить
Код: plaintext
1.
 1 ,'12345'
 2 ,'23456'
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32750385
vadimm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот результат и получается !?
Всё-таки уточни версию сервера.
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32750411
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT DISTINCT ON (s_telnomer) s_id, s_telnomer FROM sales order by s_telnomer, s_id

Какая у вас версия постгреса?
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32750749
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
DISTINCT по двум полям
    #32751075
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хмм.... с версии 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
DISTINCT по двум полям
    #32751122
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
он кажется хочет:
Код: plaintext
1.
2.
SELECT DISTINCT ON (s_telnomer) s_id, s_telnomer
  FROM sales
ORDER BY s_telnomer, s_id;  
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32751137
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321он кажется хочет:
Код: plaintext
1.
2.
SELECT DISTINCT ON (s_telnomer) s_id, s_telnomer
  FROM sales
ORDER BY s_telnomer, s_id;  
да, кажется, что она этого хочет. кажется... :)
...
Рейтинг: 0 / 0
DISTINCT по двум полям
    #32751158
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное всем спасибо незнаю почему, но теперь всё получается :)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / DISTINCT по двум полям
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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