Можно ли написать такой запрос?

Max_kmv

Новичок
Можно ли написать такой запрос?

Привет!

Я хочу получить в виде ответа от MySQL сервера количество разных значений конкретного поля. Например, вот у меня таблица `test`

id | field1
+---+--------
| 1 | var1 |
| 2 | var1 |
| 3 | var2 |
| 4 | var5 |

то в результате желаемого запроса оно должно было бы вернуть три - количество раличных значений поля field1.
Можно и
PHP:
$result = mysql_query("SELECT COUNT(`id`) FROM `test` GROUP BY `field1`");
$num_rows = mysql_num_rows($result);
но вопрос в том, что бы результат получить в виде одного поля в ответе сервера...
 

tony2001

TeaM PHPClub
еще раз.
что тебе надо посчитать?
и зачем тебе надо получить одно поле, если в твоем запросе и так одно поле выводится?
 

tony2001

TeaM PHPClub
ага.
по-русски это звучит как "посчитать кол-во уникальных значений".
 

Max_kmv

Новичок
сорри, так и знал что вопрос мутно задал...

мне надо узнать, сколько в поле field1 разних значений

для наглядности дополню табличку:
id | field1
+---+--------
| 1 | var1 |
| 2 | var1 |
| 3 | var2 |
| 4 | var5 |
| 5 | var5 |
| 6 | var5 |
| 7 | var5 |

тот запрос, что в первом посте возвратит не то что надо бы - три строки с количеством вхождений каждого непохожего значения field1

PHP:
| COUNT(`id`)|
+----------------+
|           2         |
|           1         |
|           4         |
-------------------
Вот как бы сосчитать автоматом это в запросе и что бы в результат возвращался в одной ячейке...

+--+
| 3 |
-----
- потому что три разных значения поля field1 есть в таблице. Это var1, var2, var5.
 

Max_kmv

Новичок
:D нет, долго вручную таблички в ответах рисуем :))

большое спасибо! так и знал, что все должно быть просто...
 
Сверху