MYSQL从表中选择并从另一个表中计数

萨利赫·雷法伊

我的科目表包含科目详细信息,subject_student 表包含学生选择的科目。我想选择超过 2 名学生选择的所有科目详细信息,并获得超过 2 名学生选择的每个科目的学生人数。

科目表

------------------------------
ID  | Name          | units 
------------------------------
1   | web           | 1
2   | programming   | 1
3   | java          | 1
4   | QA            | 1
------------------------------ 

student_subject 表

主题表

------------------------------
student_id | subject_id | status 
------------------------------
1          | 1          | current
1          | 2          | current
2          | 1          | current
2          | 3          | current
3          | 1          | current
3          | 3          | current
4          | 1          | current
5          | 5          | current
------------------------------   

所以这里的结果必须选择科目表的第一行和选择网络科目的学生人数 4 这是查询:

$query= "
SELECT s.sub_ID
     , s.Name
     , s.units
     , count(st.subject_id) as cc 
  from subjects as s 
  LEFT 
  JOIN students_subject as st
    ON s.ID = st.subject_id 
 GROUP 
    BY st.subject_id  
Having count(st.subject_id)>2)
";

当我运行代码时,它给了我这个错误:注意:试图获取非对象的属性

这是PHP代码:

global $con,$users;
    $query= "SELECT s.sub_ID,s.Name, s.units,s.dept, count(st.subject_id)as cc from subjects as s LEFT JOIN students_subject as st
    ON s.ID=st.subject_id GROUP BY st.subject_id  Having count(st.subject_id)>2)";
    //$query="SELECT * FROM subjects;";
    $result=mysqli_query($con,$query);
    if ( $result->num_rows == 0 ) // User doesn't exist
        echo "Subjects doesn't exist!";
    else { echo "
        <tr>
            <th>Subjects ID</th>
            <th>Title</th>
            <th>Units</th>
            <th>Department</th>
            <th>Check</th>
        </tr>";

       $r=0;
      while($row = mysqli_fetch_array($result))
        {


            echo "<tr>";
            echo "<td>" . $row['sub_ID'] . "</td>";
            echo "<td>" . $row['Name'] . "</td>";
            echo "<td>" . $row['units'] . "</td>";
            echo "<td>" . $row['cc'] . "</td>";
        }
谢尔盖·门绍夫

检查您的表和列名称的查询Subjects(ID,Name,units), students_subject(student_id,subject_id,status)

SELECT
  sb.id AS sub_ID, -- !!!
  sb.Name,
  sb.units,
  COUNT(st.student_id) AS cc
FROM Subjects sb
JOIN students_subject st ON st.subject_id=sb.id
GROUP BY sb.id,sb.name,sb.units
HAVING COUNT(st.student_id)>2

您还可以将print_rinwhile用于返回的测试名称mysqli_fetch_array

while($row = mysqli_fetch_array($result))
{
  print_r($row);
  ...

这里不需要支架 )

$query= "...  Having count(st.subject_id)>2)"; // <--

尝试删除它

$query= "...  Having count(st.subject_id)>2";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从一个表中选择,从另一个表中计数

来自分类Dev

MySQL查询-从一个表中选择,从另一个表中计数

来自分类Dev

从一个表中选择,从另一个表中计数,其中未链接ID

来自分类Dev

mysql插入值,并从另一个表中选择数据

来自分类Dev

从另一个表中选择计数

来自分类Dev

显示一个表中的详细信息并从另一个表中计数

来自分类Dev

MySQL从另一个表中选择sum()

来自分类Dev

MySQL从单个表中列出某些字段,并从另一个表中计数所有特定字段引用

来自分类Dev

从一个表中选择所有记录并从另一个表中匹配记录

来自分类Dev

在一个查询中从两个表中选择一个记录,并从另一个表中选择多个记录

来自分类Dev

PHP MySQL从一个表中选择ID,从另一个表中选择照片

来自分类Dev

如何在cakephp 3.6中从一个表中选择所有记录并从另一个表中选择一些记录

来自分类Dev

从具有条件的表中选择 DISTINCT 并从另一个表中进行排序

来自分类Dev

从主表中选择记录并在另一个表中选择每一行的计数

来自分类Dev

MySQL通过比较另一个表中的值从表中选择

来自分类Dev

MySQL通过比较另一个表中的值从表中选择

来自分类Dev

如何通过引用MySQL中的另一个表从表中选择数据

来自分类Dev

如何从基于MySQL中另一个表的表中选择

来自分类Dev

在MySQL中计数两个表,并根据另一个表中的日期显示结果

来自分类Dev

在MySQL中计数两个表,并根据另一个表中的日期显示结果

来自分类Dev

从另一个表中选择数据

来自分类Dev

从另一个表中选择日期

来自分类Dev

如何从另一个表中选择

来自分类Dev

mySQL:从不同的表中选择一个计数(*)?

来自分类Dev

在插入后使用触发器创建新记录并从另一个表中选择

来自分类Dev

从表中获取计数,并从另一个表中获取详细信息

来自分类Dev

MySQL:如何从一个表中选择从另一个表获取的每个间隔之间的行

来自分类Dev

从表中选择,其中列从laravel中的另一个表中选择

来自分类Dev

从表中选择,其中列从laravel中的另一个表中选择

Related 相关文章

  1. 1

    从一个表中选择,从另一个表中计数

  2. 2

    MySQL查询-从一个表中选择,从另一个表中计数

  3. 3

    从一个表中选择,从另一个表中计数,其中未链接ID

  4. 4

    mysql插入值,并从另一个表中选择数据

  5. 5

    从另一个表中选择计数

  6. 6

    显示一个表中的详细信息并从另一个表中计数

  7. 7

    MySQL从另一个表中选择sum()

  8. 8

    MySQL从单个表中列出某些字段,并从另一个表中计数所有特定字段引用

  9. 9

    从一个表中选择所有记录并从另一个表中匹配记录

  10. 10

    在一个查询中从两个表中选择一个记录,并从另一个表中选择多个记录

  11. 11

    PHP MySQL从一个表中选择ID,从另一个表中选择照片

  12. 12

    如何在cakephp 3.6中从一个表中选择所有记录并从另一个表中选择一些记录

  13. 13

    从具有条件的表中选择 DISTINCT 并从另一个表中进行排序

  14. 14

    从主表中选择记录并在另一个表中选择每一行的计数

  15. 15

    MySQL通过比较另一个表中的值从表中选择

  16. 16

    MySQL通过比较另一个表中的值从表中选择

  17. 17

    如何通过引用MySQL中的另一个表从表中选择数据

  18. 18

    如何从基于MySQL中另一个表的表中选择

  19. 19

    在MySQL中计数两个表,并根据另一个表中的日期显示结果

  20. 20

    在MySQL中计数两个表,并根据另一个表中的日期显示结果

  21. 21

    从另一个表中选择数据

  22. 22

    从另一个表中选择日期

  23. 23

    如何从另一个表中选择

  24. 24

    mySQL:从不同的表中选择一个计数(*)?

  25. 25

    在插入后使用触发器创建新记录并从另一个表中选择

  26. 26

    从表中获取计数,并从另一个表中获取详细信息

  27. 27

    MySQL:如何从一个表中选择从另一个表获取的每个间隔之间的行

  28. 28

    从表中选择,其中列从laravel中的另一个表中选择

  29. 29

    从表中选择,其中列从laravel中的另一个表中选择

热门标签

归档