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

DISTINCT một cột trong cơ sở dữ liệu

Điều này có thể thực hiện được bằng cách sử dụng một truy vấn con. Truy vấn bên trong sắp xếp tất cả các hàng theo ngày, vì vậy trường hợp đầu tiên của mỗi tên người dùng trong kết quả đó sẽ là hàng bạn đang tìm kiếm.

Nhóm truy vấn bên ngoài theo tên người dùng và AFAIK nếu bạn không sử dụng GROUP_CONCAT điều này sẽ luôn là trường hợp đầu tiên của mỗi hàng chứa tên người dùng.

SELECT username, wikitext, wikidate FROM
  (SELECT username, wiki.text AS wikitext, wiki.date AS wikidate
  FROM wiki_house
  INNER JOIN wiki ON wiki_house.wiki_id = wiki.id
  INNER JOIN users ON wiki.user_id = users.id
  AND wiki_house.house_id = 1
  AND wiki.language = 'it'
  ORDER BY wiki.date DESC)
GROUP BY username
LIMIT 10

Nếu cách đó không hiệu quả, hãy xem câu trả lời được chấp nhận cho tương tự này câu hỏi mà có một giải pháp khác. Bạn có thể sửa đổi nó cho phù hợp với nhu cầu của mình.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - trường SELECT WHERE IN (truy vấn con) - Tại sao cực kỳ chậm?

  2. MySQL nhận vị trí hàng trong ORDER BY

  3. Làm thế nào để có được ngày cuối cùng của tháng trong MySQL

  4. LỖI 1005 (HY000):Không thể tạo bảng (lỗi:150)

  5. Truy vấn MySQL trở nên hoang dã?