Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę pominąć kolumnę z instrukcji SELECT podczas używania jej w klauzuli HAVING?

Możesz przenieść podzapytanie do having klauzula. Jak odpowiedział Gordon, używasz having klauzula jako druga where , który obsługuje tylko MySQL. Lepiej jest dodać drugi warunek do where z and :

SELECT e.id
FROM events e
WHERE author_id = 32
    AND e.id >= (SELECT MIN(u.id) id
        FROM (SELECT MIN(id) id
            FROM events
            WHERE author_id = 32
            GROUP BY type, post_id, table_code, comment_id, context
            ORDER BY MIN(id) desc 
            LIMIT 15) as u
        ) 
ORDER BY id DESC

Na podstawie Twojego komentarza byłoby to nieco prostsze. Wybiera 15 postów o najwyższym identyfikatorze zdarzenia:

SELECT  id
FROM    events
WHERE   author_id = 32
        AND post_id IN
        (
        SELECT  DISTINCT post_id
        FROM    events
        ORDER BY
                id DESC
        LIMIT   15
        )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw wiele wierszy z przygotowanymi oświadczeniami PDO

  2. Jak efektywnie wstawić dane z pliku CSV do MYSQL przy użyciu Pythona?

  3. Laravel obliczy sumę dwóch kolumn z warunkiem

  4. MySQL:zaktualizuj wiele kolumn, jeśli ich wartość jest równa

  5. Czy mogę stworzyć widok z parametrem w MySQL?