Группа SQL и Max

автоопоры для установки свойств на основе расширения. Используйте его для установки свойств блокировки потребностей и типов пантомимы.

Это работает отлично, если Вы фиксируете двоичные файлы (например, документы слова, jpeg изображения и т.д.).

19
задан Uwe Keim 9 October 2017 в 20:06
поделиться

5 ответов

В Oracle , SQL Server 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
29
ответ дан 30 November 2019 в 02:14
поделиться

Если вы хотите получить строку с максимальным значением, вам, вероятно, понадобится подзапрос. Что-то вроде:

SELECT *
FROM YourTable
WHERE id IN (
    SELECT MAX(id) FROM YourTable GROUP BY alarmId, alarmUnit
    )
19
ответ дан 30 November 2019 в 02:14
поделиться

Может быть, попробуйте что-то вроде следующего:

SELECT id,name,alarmId,alarmUnit,alarmLevel
FROM table
WHERE id IN (SELECT Max(id) FROM table GROUP BY alarmId, alarmUnit)

Возможно, вам придется включить alarmId и alarmUnit в подзапросе выберите.

2
ответ дан 30 November 2019 в 02:14
поделиться

Try:

SELECT * FROM table WHERE id IN
  (SELECT MAX(id) FROM table GROUP BY alarmId, alarmUnit)
8
ответ дан 30 November 2019 в 02:14
поделиться
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
2
ответ дан 30 November 2019 в 02:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: