SQL запросMySQL
#3
Отправлено 26.08.2002, 10:48:38
Если есть возможность изменить структуру таблицы или создать новую, то можно прирост считать и обновлять при вводе нового значения и записывать либо в новое поле либо в новую таблицу.требуется вывести инфу из базы в таком виде:
Страна | Кол-во повторов | Прирост
Россия | 122 | +20
Украина | 109 | +1
........
Дано:
posted date, country int(3)
#6
Отправлено 27.08.2002, 06:59:08
можно уложиться в один.
Sly
порядок записей примерно таков:
1 22-08-2002
1 22-08-2002
1 22-08-2002
1 22-08-2002
9 22-08-2002
4 22-08-2002
.....
добавлять дополнительное поле для хранения прироста нет смысла, так как это лучше вычислять
Den
для подсчета кол-ва повторов я использую такой запрос:
SELECT country,count(country) as ic FROM users GROUP BY country HAVING ic>=0 ORDER BY ic DESC
вложенных запросов в mysql пока нет
Жуть
Ты как всегда торопишься....
попробуй написать нормальный запрос из того , что ты надиктовал
#7
Отправлено 27.08.2002, 08:30:46
И что ты получаешь? Количество повторов по состоянию на время выполнения запроса.SELECT country,count(country) as ic FROM users GROUP BY country HAVING ic>=0 ORDER BY ic DESC
А с твоим запросом - HAVING ic>=0 совершенно не нужен. количество чего бы то ни было не может быть отрицательным, т-ч нехрен анализатор грузить.
Вообщемто можно сделать все 2 запроса. Один вчерашние данные вылиывает в хип-таблицу, второй сравнивает вчерашние данные с сегоднишними.
#8
Отправлено 27.08.2002, 14:23:08
а если вот так: select country, posted, (select posted form table where date = today)-(select posted form table where date = yesterday) from table where date = today
mySQL говоришь, тогда так попробуй:
select a.country, a.posted, a.posted -b.posted form table a, table b where a.date = today and b.date = yesterday
#9
Отправлено 28.08.2002, 08:33:58
Верно. Я указал , что это для _подсчета кол-ва повторов_.И что ты получаешь? Количество повторов по состоянию на время выполнения запроса.
Это ограничение снизу.А с твоим запросом - HAVING ic>=0 совершенно не нужен. количество чего бы то ни было не может быть отрицательным, т-ч нехрен анализатор грузить.
Den
mySQL говоришь, тогда так попробуй:
select a.country, a.posted, a.posted -b.posted form table a, table b where a.date = today and b.date = yesterday
основную мысль я вроде уловил, однако код в таком виде работать не будет
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0