Запретить другим пользователям использовать команду apt-get

Здесь идет версия T-SQL :

-- Test data
DECLARE @TestTable TABLE (id INT, home INT, date DATETIME, 
  player VARCHAR(20), resource INT)
INSERT INTO @TestTable
SELECT 1, 10, '2009-03-04', 'john', 399 UNION
SELECT 2, 11, '2009-03-04', 'juliet', 244 UNION
SELECT 5, 12, '2009-03-04', 'borat', 555 UNION
SELECT 3, 10, '2009-03-03', 'john', 300 UNION
SELECT 4, 11, '2009-03-03', 'juliet', 200 UNION
SELECT 6, 12, '2009-03-03', 'borat', 500 UNION
SELECT 7, 13, '2008-12-24', 'borat', 600 UNION
SELECT 8, 13, '2009-01-01', 'borat', 700

-- Answer
SELECT id, home, date, player, resource 
FROM (SELECT id, home, date, player, resource, 
    RANK() OVER (PARTITION BY home ORDER BY date DESC) N
    FROM @TestTable
)M WHERE N = 1

-- and if you really want only home with max date
SELECT T.id, T.home, T.date, T.player, T.resource 
    FROM @TestTable T
INNER JOIN 
(   SELECT TI.id, TI.home, TI.date, 
        RANK() OVER (PARTITION BY TI.home ORDER BY TI.date) N
    FROM @TestTable TI
    WHERE TI.date IN (SELECT MAX(TM.date) FROM @TestTable TM)
)TJ ON TJ.N = 1 AND T.id = TJ.id

РЕДАКТИРОВАНИЕ
, К сожалению, нет никакого РАЗРЯДА () ПО функции в MySQL.
, Но это может быть эмулировано, видеть Эмулировать Аналитичный (иначе Занимающий место) Функции с MySQL .
, Таким образом, это версия MySQL :

SELECT id, home, date, player, resource 
FROM TestTable AS t1 
WHERE 
    (SELECT COUNT(*) 
            FROM TestTable AS t2 
            WHERE t2.home = t1.home AND t2.date > t1.date
    ) = 0

3
задан 16.05.2020, 11:38

1 ответ

Вы не можете! Если Вы хотите предоставить корневой доступ к пользователю, ничто не может мешать ему, делают что-либо, что он хочет с системой. Полномочия пользователя root не означают ограничений. Так, лучше, дайте пользователю только полномочия, в которых он нуждается.

6
ответ дан 16.05.2020, 11:38

Теги

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