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

Đếm giá trị số liên tiếp trong SQL

Đây là một dạng của vấn đề khoảng trống và đảo. Bạn có thể chỉ định từng 0 một nhóm bằng cách đếm số lượng các giá trị khác 0 trước nó. Sau đó tổng hợp lại.

Tuy nhiên, các bảng SQL đại diện cho không có thứ tự các bộ. Không có thứ tự nào trừ khi một cột chỉ định thứ tự. Hãy để tôi giả sử bạn có một cái. Sau đó:

select count(*)
from (select t.*,
             sum(values <> 0) over (partition by idnumber order by <ordering col>) as grp
      from t
     ) t
where values = 0
group by idnumber, grp;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bộ mã cấu hình CodeIgniter và hỗ trợ UTF-8

  2. Nhanh chóng xây dựng giao diện CRUD PHP với Công cụ tạo CRUD nâng cao PDO

  3. MySQL + Rails:errno:150 Ràng buộc khóa ngoại được hình thành không chính xác

  4. Chèn nhiều hàng trong một bảng bằng PHP

  5. Không thể chèn dữ liệu vào cơ sở dữ liệu bằng cách sử dụng tùy chọn (textarea)