计数表中的第一次出现不重复

时间:2011-04-05 14:32:57

标签: php mysql

我在PHP中制作了一个表格,用于显示学生在课程中提交的证据。

学生提交意见以指出其文件匹配的标准。它基本上是一个表格,左侧列出了文件,顶部列出了标准。学生的标记是每个文件的标准。

然后,我想要计算哪些标准得到满足,哪些不符合。基本上哪些列有刻度而哪些没有。

很容易计算表格中的所有刻度,但我很难弄清楚如何按表中的列计算不同的刻度。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

如果未匹配的标准是空值,则执行以下操作:

select student, 
    count(crit1) > 0 as crit1, 
    count(crit2) > 0 as crit2 
from submission
group by student
order by student
;

答案 1 :(得分:0)

SELECT ...
  COUNT(DISTINCT ...) ...

答案 2 :(得分:0)

我假设你有一个像(当然名称代替CritX)的表格。还假设未勾选的批评符号wull具有NULL值:

submission (fileanme, crit1, crit2, crit3, critN)

然后你可以通过以下方式检查哪些critera有没有声明:

SELECT MAX(crit1) AS crit1, MAX(crit2) AS crit2 FROM submission;

您可以获得带有标记值的类别数量:

SELECT MAX(crit1) + MAX(crit2) AS number FROM submission;