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

MySQL Nested Select Query?

Bạn chỉ cần viết truy vấn đầu tiên dưới dạng truy vấn con (bảng dẫn xuất), bên trong dấu ngoặc đơn, chọn bí danh cho nó (t bên dưới) và cả bí danh cho các cột.

DISTINCT cũng có thể được xóa một cách an toàn dưới dạng GROUP BY nội bộ làm cho nó trở nên thừa:

SELECT DATE(`date`) AS `date` , COUNT(`player_name`) AS `player_count`
FROM (
    SELECT MIN(`date`) AS `date`, `player_name`
    FROM `player_playtime`
    GROUP BY `player_name`
) AS t
GROUP BY DATE( `date`) DESC LIMIT 60 ;

Kể từ COUNT hiển nhiên là chỉ đếm các hàng của bảng dẫn xuất, bạn có thể thay thế nó bằng COUNT(*) và đơn giản hóa hơn nữa truy vấn:

SELECT t.date , COUNT(*) AS player_count
FROM (
    SELECT DATE(MIN(`date`)) AS date
    FROM player_playtime
    GROUP BY player_name
) AS t
GROUP BY t.date DESC LIMIT 60 ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TIMEDIFF () so với SUBTIME () trong MySQL:Sự khác biệt là gì?

  2. Hàm tổng hợp mảng MYSQL như PostgreSQL array_agg

  3. Cách lặp qua tất cả các bảng trên cơ sở dữ liệu để cập nhật các cột

  4. Yêu cầu MySQL để kết hợp và tìm kiếm trong 2 bảng

  5. Max_connections thực sự có nghĩa là gì?