Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana saya bisa menghilangkan kolom dari pernyataan SELECT saat menggunakannya ke dalam klausa HAVING?

Anda dapat memindahkan subquery ke having ayat. Saat Gordon menjawab, Anda menggunakan having klausa sebagai where kedua , yang hanya didukung MySQL. Lebih baik menambahkan kondisi kedua ke where dengan 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

Berdasarkan komentar Anda, ini akan menjadi sedikit lebih sederhana. Ini memilih 15 posting dengan id acara tertinggi:

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. Bagaimana cara menghubungkan MySQL dengan Java?

  2. Apa perbedaan antara mysql-connector-python, mysql-connector-python-rf dan mysql-connector-repackaged?

  3. MYSQL Workbench - KESALAHAN:Kesalahan 1215:Tidak dapat menambahkan batasan kunci asing

  4. Mengapa saya tidak harus memasukkan array serial ke dalam bidang database saya?

  5. Tampilan MySQL dan penggunaan indeks