Php 如何检查行中的列是否具有相同的值?

Php 如何检查行中的列是否具有相同的值?,php,mysql,Php,Mysql,我想检查表中的一列是否具有相同的值 ID School_Name Student Status 1 Virginia Alex 2 2 Virginia John 2 3 Wonderbow Devi 1 4 San Antonio Lucas 1 5 San Antonio Larsa

我想检查表中的一列是否具有相同的值

ID    School_Name     Student    Status
1        Virginia        Alex         2
2        Virginia        John         2
3       Wonderbow        Devi         1
4     San Antonio       Lucas         1
5     San Antonio       Larsa         2
如果每个
学校名称的值为
2
,如何检查列
状态
。输出如下所示:

ID       School_Name    school_stat
 1          Virginia      TRUE      
 2         Wonderbow     FALSE
 3       San Antonio     FALSE
因此,如果每个学校名称中的所有学生的状态为2,则结果为真

当前查询:

SELECT*,SUM(状态>1时的情况,否则为真,否则为假结束)作为学校统计数据(来自学校)


但查询的输出错误。

您可以使用条件聚合:

SELECT
    School_Name,
    IF(COUNT(1) = COUNT(IF(Status = 2, 1, NULL)), 'TRUE', 'FALSE') school_stat
FROM t_school
GROUP BY School_Name

请参见SQLFiddle中的内容,如果要执行一些聚合操作,则像
id
这样的非聚合列在select中没有意义。

您可以使用条件聚合:

SELECT
    School_Name,
    IF(COUNT(1) = COUNT(IF(Status = 2, 1, NULL)), 'TRUE', 'FALSE') school_stat
FROM t_school
GROUP BY School_Name
请参阅SQLFiddle中的内容,如果您想执行一些聚合操作,那么像
id
这样的非聚合列在select中是没有意义的

分组依据
子句用于分组学校名称

例如

SELECT ID,School_Name,(case when status > 1 then 'TRUE' else 'FALSE' end) as school_stat from temp1
group by School_Name
order by ID asc;

分组依据
子句用于分组学校名称

例如

SELECT ID,School_Name,(case when status > 1 then 'TRUE' else 'FALSE' end) as school_stat from temp1
group by School_Name
order by ID asc;

瞧。

非常感谢你。顺便问一下,什么是计数(1)
?@ashura91与计数(*)的结果相同。你也可以用谷歌搜索。非常感谢。顺便问一下,什么是计数(1)?@ashura91与计数(*)的结果相同。你也可以用谷歌搜索。