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

MYSQL:Sử dụng GROUP BY với chuỗi ký tự

Có lẽ bạn muốn một cái gì đó như:

GROUP BY IF(fullName LIKE '%/testfolder/%', 1, IF(fullName LIKE '%/testfolder2/%', 2, 3))

Ý tưởng chính cần hiểu là một biểu thức như fullName LIKE foo AND fullName LIKE bar là toàn bộ biểu thức sẽ nhất thiết phải đánh giá thành TRUE hoặc FALSE , vì vậy bạn chỉ có thể nhận được tổng số hai nhóm trong số đó.

Sử dụng IF biểu thức để trả về một trong một số các giá trị khác nhau sẽ cho phép bạn có nhiều nhóm hơn.

Hãy nhớ rằng điều này sẽ không quá nhanh. Nếu bạn có một tập dữ liệu rất lớn, bạn nên khám phá các cách lưu trữ dữ liệu khác mà không yêu cầu LIKE so sánh để thực hiện việc phân nhóm.



  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> Bảng không tồn tại. Nhưng nó có (hoặc nó phải)

  2. Có tương đương với SET NOCOUNT của SQL Server trong MySQL không?

  3. PDO ::PARAM cho kiểu thập phân?

  4. MySQL INTO OUTFILE ghi đè tệp hiện có?

  5. Không thể nhập mô-đun MySQLdb bằng Python