Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào tôi có thể bỏ qua một cột khỏi câu lệnh SELECT trong khi sử dụng nó trong mệnh đề HAVING?

Bạn có thể di chuyển truy vấn con đến having mệnh đề. Như Gordon đã trả lời, bạn đang sử dụng having mệnh đề thứ hai where , mà chỉ MySQL hỗ trợ. Tốt hơn là thêm điều kiện thứ hai vào where với 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

Dựa trên nhận xét của bạn, điều này sẽ đơn giản hơn một chút. Nó chọn 15 bài đăng có id sự kiện cao nhất:

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. Câu lệnh MySQL TABLE

  2. Lỗi truy vấn SQL

  3. Làm thế nào để tách chuỗi bản ghi được phân tách bằng dấu phẩy và sắp xếp sau đó tuần tự trong MySQL?

  4. mysql Làm thế nào để Tìm sự khác biệt giữa hai hàng trong cùng một bảng và liệt kê các Bản ghi chưa được so khớp? mysql tìm các hàng chưa khớp trong một bảng

  5. Kết nối cơ sở dữ liệu MySQL động cho Entity Framework 6