如何在表格中找到'1'的总数?

时间:2010-09-27 11:00:09

标签: mysql

嘿朋友们 这是表格详细信息和数据

id data h1 h2 h3 h4 h5 h6 h7 h8
1 2010-10-10 1 1 1 1 1 1 1 1 
1 2010-10-11 1 0 1 0 1 0 0 1
1 2010-10-12 0 1 1 1 1 0 0 0

我需要知道的是如何为以下

创建查询
  1. 在h1-h8中找到id为1
  2. 的总数为零
  3. 在h1-h8中找到id为1
  4. 的总数
  5. 在h1-h8中找到id1的总数(总数为零+总数为1)
  6. 获得1,2,3之后
  7. 在等式中使用以下答案(val(3)-val(1))/ val(3)
  8. 我在mysql中没那么好,如果你们可以帮助我那么这将是一个很大的帮助,提前做好

2 个答案:

答案 0 :(得分:3)

首先,好像回答3.将是8 *行数,但是......

回答1:

SELECT SUM (8-(h1+h2+h3+h4+h5+h6+h7+h8)) FROM table WHERE id=YourID

回答2:

SELECT SUM (h1+h2+h3+h4+h5+h6+h7+h8) FROM table WHERE id=YourID

回答3:

SELECT SUM (8 as x) FROM table WHERE id=YourID

并回答4:

自己弄清楚,你现在应该有足够的时间开始你的旅程了。)

答案 1 :(得分:2)

选择正确的数据结构非常重要。您可以将表定义更改为以下内容:

id data        attribute value
1  2010-10-10  h1        1
1  2010-10-10  h2        1
...

现在您可以使用简单的查询,例如:

1) SELECT COUNT(*) FROM table WHERE id = 1 AND value = 0
2) SELECT COUNT(*) FROM table WHERE id = 1 AND value = 1
3) SELECT COUNT(*) FROM table WHERE id = 1