У меня есть база данных, как показано ниже.MySQL Подсчитайте как строки
mysql> select * from wants where itemname='lamp' order by location;
+------+--------------------+-------------+----------+----------+----------+
| sess | username | room | image | item | priority |
+------+--------------------+-------------+----------+----------+----------+
| 33 | [email protected] | Family Room | DSC00649 | Lamp | 1 |
| 235 | [email protected] | Family Room | DSC00649 | Lamp | 2 |
| 60 | [email protected] | Foyer | DSC00527 | Lamp | 1 |
| 197 | [email protected] | Foyer | DSC00527 | Lamp | 2 |
| 189 | [email protected] | Living Room | DSC00827 | Lamp | 1 |
| 273 | [email protected] | Living Room | DSC00827 | Lamp | 2 |
+------+--------------------+-------------+----------+----------+----------+
6 rows in set (0.00 sec)
То, что я пытаюсь сделать, - это подсчитать количество предметов за номер.
При запуске запроса он должен выглядеть следующим образом:
2 Family Room Lamp [email protected] [email protected]
2 Foyer Lamp [email protected] [email protected]
2 Living Room Lamp [email protected] [email protected]
Текущий запрос:
$result1 = mysql_query("SELECT username, location, image, itemname, COUNT(itemname) x FROM wants GROUP BY itemname HAVING x >1 order by location ASC")
Это даст следующий результат:
6 Family Room Lamp [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
Я пытался использовать Concat чтобы получить счет первых двух строк, но это не помогло,
Как я могу разбить их, чтобы номера читались отдельно, когда имя элемента совпадает?