检查mysql中多个字符串的外观

时间:2011-11-18 14:02:50

标签: php mysql

我有一个包含多个字段和大约10000个条目的数据库。我只需要在一个字段中检查4个不同字符串的外观。

示例:

id--name--sex--color--size--weight--price--points--class--
1   pet   m    white  180   90      120    1000    low
2   bob   m    white  180   90      110    2000    high
3   foo   m    white  180   90      120    3000    low
4   boo   m    white  180   90      140    1000    low
5   bla   m    white  180   90      100    2000    medium
6   blu   m    white  180   90      120    5000    lala    

基本上有3个类,但有时我有自定义类。现在我想在整个数据库中搜索低,高和中等的外观。可能是其中一个或多个没有条目。此外,我需要检查是否有自定义(未知)类。 它足以知道它们是否出现,我不需要更多数据。

我想出的只是查询字段class,然后使用phps in_array()进行搜索,但我想这只是浪费资源。

有人可以帮助我吗?如何在不查询所有结果的情况下查询此聪明人?

2 个答案:

答案 0 :(得分:2)

让数据库只查找类列中的不同值。您的关键字是“不同的”。

select DISTINCT class from table;

无论如何,如果你在意,我会建议阅读有关数据库表规范化和改进表格设计的内容。

答案 1 :(得分:1)

您是否可以简单地查询计数GROUP BY class?这将返回所有类,包括您的自定义类。

SELECT class, COUNT(*) FROM table GROUP BY class;

或只是DISTINCT class

SELECT DISTINCT class FROM table