[SQL] SQL 그룹에 의해 및 최대
SQLSQL 그룹에 의해 및 최대
나는 테이블에 다음과 같은 데이터를 가지고 :
id name alarmId alarmUnit alarmLevel
1 test voltage psu warning
2 test voltage psu ceasing
3 test voltage psu warning
4 test temp rcc warning
5 test temp rcc ceasing
나는 결과는 다음과 같아야하므로, 모든 열 그룹 (경보, 경보 장치)에 대한 가장 최근의 정보를 표시하고 싶습니다 :
3 test voltage psu warning
5 test temp rcc ceasing
지금까지 시도했다 :
SELECT MAX (ID)와 같은 ID, 이름, alarmId, alarmUnit, ALARMLEVEL GROUP BY alarmId, alarmUnit;
선정 된 ID는 벌금을 것 같다하지만, 선택된 행은 그들에게 해당되지 않습니다. 당신이 나를 도울 수?
해결법
-
==============================
1.오라클, SQL 서버 2005 +과 PostgreSQL 8.4 :
오라클, SQL 서버 2005 +과 PostgreSQL 8.4 :
SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY alarmId, alarmUnit ORDER BY id DESC) AS rn FROM mytable ) q WHERE rn = 1
MySQL은 :
SELECT mi.* FROM ( SELECT alarmId, alarmUnit, MAX(id) AS mid FROM mytable GROUP BY alarmId, alarmUnit ) mo JOIN mytable mi ON mi.id = mo.mid
PostgreSQL의 8.3 아래에서 :
SELECT DISTINCT ON (alarmId, alarmUnit) * FROM mytable ORDER BY alarmId, alarmUnit, id DESC
-
==============================
2.당신은 최대의 열을 얻고 싶은 경우에, 당신은 아마 하위 쿼리를해야합니다. 뭔가 같은 :
당신은 최대의 열을 얻고 싶은 경우에, 당신은 아마 하위 쿼리를해야합니다. 뭔가 같은 :
SELECT * FROM YourTable WHERE id IN ( SELECT MAX(id) FROM YourTable GROUP BY alarmId, alarmUnit )
-
==============================
3.시험:
시험:
SELECT * FROM table WHERE id IN (SELECT MAX(id) FROM table GROUP BY alarmId, alarmUnit)
-
==============================
4.아마 다음과 같은 시도 :
아마 다음과 같은 시도 :
SELECT id,name,alarmId,alarmUnit,alarmLevel FROM table WHERE id IN (SELECT Max(id) FROM table GROUP BY alarmId, alarmUnit)
당신은 선택 쿼리 하위에 alarmId 및 alarmUnit을 포함 할 수 있습니다.
-
==============================
5.
select id, name, alarmID, alarmUnit, alarmLevel from (select max(id) as id from table group by alarmID, alarmUnit) maxID inner join table on table.id = maxID.id
from https://stackoverflow.com/questions/1299556/sql-group-by-max by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 서버에서 가장 작은 사용되지 않는 번호 찾기 (0) | 2020.04.11 |
---|---|
[SQL] 어떻게 목록 파일에 SQL 서버의 폴더 내부 (0) | 2020.04.11 |
[SQL] SQL Server에서 lastIndexOf에서도이 있습니까? (0) | 2020.04.10 |
[SQL] 값의 "NOT IN"목록에 대한 MySQL의 변수 형식 (0) | 2020.04.10 |
[SQL] 사용자 정의 날짜 / 시간은 SQL Server의 서식 (0) | 2020.04.10 |