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

php / SQL - in nhiều từ 4 lần giữa mỗi 4 tên với nhiều điều kiện

Tôi đã đọc bài viết trước của bạn và bài viết này. Nếu tôi hiểu, điều cơ bản là bạn có các đội và bạn có người chơi và bạn muốn hiển thị dữ liệu trong một số nhóm tiêu chuẩn nhất định (so-to-speak).

Chà, có một dữ liệu không đổi mà bạn luôn so sánh với đó là quy mô của nhóm.

Những gì tôi sẽ làm là tạo một truy vấn con nhóm đội với số lượng người chơi và sử dụng điều này theo một số cách như sau:

select t.*
       , x.total_players
       -- , row_number() over(order by t.team_name) row_id
from team_table t
    join (
          select team_id
                , count(1) total_playerss
          from team_table 
          group by team_id
         ) x on x.team_id = t.team_id
order by t.team_name

Khi lặp lại tập kết quả trong PHP, bạn có thể xây dựng một số hàm như:

<?php

function add_some_word($playerCount) {

if ($playerCount >4 && $playerCount <= 8) {
echo '*** SOME WORD***';
echo '*** SOME WORD***';
echo '*** SOME WORD***';
}
else if ($playerCount >4 && $playerCount <= 8) {
echo '*** SOME WORD***';
echo '*** SOME WORD***';
}
// etc.
}

?>

Sử dụng row_id từ tập hợp kết quả, bạn có thể biết khi nào một đội bắt đầu và kết thúc.

Vì vậy, khi nó xuất hiện các hàng, nó có thể là một cái gì đó giống như:"

<?php

$currentTeamName = "";

while ($row = pg_fetch_array($result,null,PGSQL_ASSOC)) {
// echo data you would normally send out

if ($currentTeamName != $row['team_name']) {
add_some_word($row['total_players']);
}

}

?>

Tôi hy vọng tôi đã trả lời đúng câu hỏi của bạn. Tôi đang làm việc này nhanh chóng nhưng tôi nghĩ nó sẽ hữu ích!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trợ giúp Truy vấn Số lượng Bảng Chéo MySQL (*)

  2. Sự khác biệt về hiệu suất của SQL gốc (sử dụng MySQL) so với sử dụng Hibernate ORM?

  3. Tính toán chênh lệch múi giờ trước 6 giờ sáng và sau 10 giờ tối trong MySQL

  4. sự cố cảnh báo:mong đợi tham số 1 là mysqli_result

  5. MySQL REPLACE trong một hàng tăng dần tự động