2011-04-05 51 views
1

我在PHP中創建了一個表格,用於顯示學生在課程中提交的證據。計算表中的第一次發生時不重複

學生進行提交以指出他們的文件匹配哪些標準。它基本上是一張表,其中列出了左側列出的文件和列在頂部的標準。學生滴答作爲每個文件的標準。

然後我想要計算哪些標準得到滿足,哪些不滿足。基本上哪些列有蜱,哪些沒有。

很容易計算表中的所有滴答,但我正在努力研究如何計算表中列的不同滴答。

任何想法?

+0

您可以添加有關如何存儲數據的詳細信息嗎? 'SHOW CREATE TABLE'的輸出將是理想的 – 2011-04-05 14:36:16

+0

你想得到什麼樣的結果並不是很清楚。我做了一些野蠻的猜測並給出了答案,但更具體的信息會很好。 – vbence 2011-04-05 14:40:04

+0

希望這個圖像稍微有點咯。我正在尋找哪些標準已被要求。 [鏈接] http://citybit.southampton-city.ac.uk/example.PNG在這個例子中,我正在尋找4返回。 – Mike 2011-04-05 16:57:21

回答

1

如果沒有匹配的標準是一個空值,那麼這將做到:

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

我假設你有一張表(比如CritX)。此外,假設非打勾critria wull有NULL值:

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

,那麼你可以檢查哪些性判據有和沒有被聲稱:

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

你可以得到的類別數蒙山勾選值:

SELECT MAX(crit1) + MAX(crit2) AS number FROM submission; 
相關問題