database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1488 게시물 읽기
No. 1488
그룹별 중에 상위 한개만 가지고 오고 싶은데요...
작성자
둥이
작성일
2004-08-17 15:47
조회수
4,467

SELECT TOP 1 *
FROM etc_news
WHERE (gubn = 1)
UNION ALL
SELECT TOP 1 *
FROM etc_news
WHERE (gubn = 2)
UNION ALL
SELECT TOP 1 *
FROM etc_news
WHERE (gubn = 3)
각조건을 주고 ORDER BY mkdate 로 정렬해서 상위값을 가지고 오고 싶은데..ㅡㅡ
union으로는 order by가 되지 안네요..우짜해야되는 좀 알려주세요~

 

이 글에 대한 댓글이 총 1건 있습니다.

단순히 union all이 있을때 order by 하는 것만 하는 것으로 하는

Sql문은 이렇게 하면 되지 않을까 합니다.

select * from (

SELECT TOP 1 * FROM etc_news
     WHERE (gubn = 1)

     ORDER BY mkdate) a
UNION ALL

select * from (
SELECT TOP 1 * FROM etc_news
     WHERE (gubn = 2)

     ORDER BY mkdate) b
UNION ALL

select * from (
SELECT TOP 1 * FROM etc_news
     WHERE (gubn = 3)
     ORDER BY mkdate) c

 

불러오는 테이블 자체를 inline subquery로 사용하시면 될 듯합니다.

여리님이 2004-08-17 17:53에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1491hostname 변경시 ms sql server 환경 변경 방법 문의..
kis
2004-08-19
2621
1490다른 테이블의 갯수 세어서 insert하기 [1]
qudals
2004-08-19
2515
1489mysql에서 mssql로 쿼리변환중 주의사항 [1]
김병용
2004-08-17
4734
1488그룹별 중에 상위 한개만 가지고 오고 싶은데요... [1]
둥이
2004-08-17
4467
1487엑셀파일을 ms sql db로 저장하기... [1]
대행수
2004-08-17
3948
1486도와주세요..부탁드립니다. 일주일째 고생중 [1]
이각훈
2004-08-15
3134
148510초걸리는 Select 쿼리실행시 5초에서 중단되어도
김인태
2004-08-13
2487
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다