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

đồng hồ thời gian mysql

Bạn đang thiếu GROUP BY mệnh đề cho MAX() của bạn tổng hợp. Lý do bạn nhận được câu trả lời chính xác 12 đối với lần truy vấn đầu tiên của bạn chỉ đơn thuần là vì đó là ID lớn nhất trong bảng đồng thời ngẫu nhiên thuộc về emp_id = 1 . Bạn sẽ nhận được cùng một kết quả cho bất kỳ emp_id nào các giá trị. GROUP BY mệnh đề sẽ sắp xếp điều này.

Đây là một ví dụ truy xuất toàn bộ hàng cho bản ghi được liên kết:

SELECT * FROM timeclock 
WHERE id = (SELECT MAX(id) AS id FROM timeclock WHERE emp_id = 1 GROUP BY emp_id);

Điều này cũng có thể được thực hiện với HAVING mệnh đề, không cần truy vấn con:

SELECT action 
FROM timeclock 
WHERE emp_id = 1
GROUP BY emp_id
HAVING id = MAX(id);

Để tham khảo, hãy tham khảo tham chiếu các hàm tổng hợp MySQL.




  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ập nhật hàng loạt Sqlalchemy trong MySQL hoạt động rất chậm

  2. Mysql cách trả về các hàng ngay cả khi dữ liệu kết hợp trống

  3. Chuyển đổi truy vấn MySQL - cần các hàng thành cột

  4. GROUP và COUNT () độ tuổi trong CakePHP

  5. Phát hiện người gửi thư rác bằng MySQL