Сейчас у меня есть следующий запрос:MySQL запросов: SELECT DISTINCT column1, GROUP BY COLUMN2
SELECT name, COUNT(name), time, price, ip, SUM(price)
FROM tablename
WHERE time >= $yesterday
AND time <$today GROUP BY name
И что я хотел бы сделать, это добавить DISTINCT на колонке 'ф', то есть
SELECT DISTINCT ip FROM tablename
Таким образом, моим окончательным результатом будут все столбцы из всех строк, в которых есть время, сгруппированное по имени (с указанием имени для каждого повторяющегося имени) и не дублирующихся IP-адресов.
В чем должен быть мой запрос? (или, альтернативно, как я могу добавить отсутствующий фильтр к выходу с помощью php)?
Заранее спасибо.
[UPDATE]
Чтобы свести к минимуму путаницы, рассмотрит это (упрощенный) таблицы БДА:
| name | ip |
---------------------
| mark | 123 |
| mark | 123 |
| mark | 456 |
| dave | 789 |
| dave | 087 |
В результате я ищу бы HTML таблицы вида:
| name | name count |
----------------------------
| mark | 2 |
| dave | 2 |
То, что я в настоящее время получаю:
| name | name count |
----------------------------
| mark | 3 |
| dave | 2 |
(он считается отметкой 3 раза, хотя два раза с одинаковым ip).
Я также попытался SELECT DISTINCT внутрибрюшинно FROM (SELECT имя, COUNT (имя), время, цена, IP, SUM (цена) FROM имя_таблицы WHERE время> = $ вчера и время <$ сегодня GROUP BY) как ТАБЛИЦА Но я получаю синтаксическую ошибку ... –
** Попробуйте: ** SELECT DISTINCT ** TABLE.ip ** FROM (SELECT T.name, COUNT (T.name), T.time , T.price, T.ip, SUM (T.price) FROM tablename T WHERE time> = $ вчера И время <$ сегодня GROUP BY name) как ТАБЛИЦА – lexu
- «предоставленный аргумент не является допустимым ресурсом результатов MySQL» :( –