Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка внутри сложного запроса
 
 автор: 1prom   (10.08.2008 в 17:55)   письмо автору
 
 

Всем привет!

Подскажите, пожалуйста, как сделать запрос примерно такой:

$sqlsee = "SELECT * FROM Foto WHERE City = \"$City\" order by .... ";
нужно отсортировать записи за количеством фото в поле Foto (int) за определенным городом, но чтоб города не повторялись

и еще:

$sqlsee = "SELECT * FROM Memory WHERE City = \"$City\" order by .... ";
нужно отсортировать записи за объемом (КБ) информации в поле Memory за определенным городом, но чтоб города не повторялись

СПС заранее!

  Ответить  
 
 автор: ddhvvn   (10.08.2008 в 18:48)   письмо автору
 
   для: 1prom   (10.08.2008 в 17:55)
 

"Чтоб города не повторялись" надо было завести базу городов

  Ответить  
 
 автор: 1prom   (10.08.2008 в 19:04)   письмо автору
 
   для: ddhvvn   (10.08.2008 в 18:48)
 

Есть такая база...

  Ответить  
 
 автор: ddhvvn   (10.08.2008 в 19:18)   письмо автору
 
   для: 1prom   (10.08.2008 в 19:04)
 

Как же тогда они повторяются?

  Ответить  
 
 автор: BinLaden   (10.08.2008 в 19:43)   письмо автору
 
   для: 1prom   (10.08.2008 в 17:55)
 

Непонятный вопрос: если Вы хотите, чтобы при условии ... WHERE City = '...' города не повторялись, то можно, как вариант, грохнуть все повторения.

Либо же Вы хотите сделать статистику для каждого города, а не какого-то определенного?

  Ответить  
 
 автор: 1prom   (10.08.2008 в 20:30)   письмо автору
 
   для: BinLaden   (10.08.2008 в 19:43)
 

Таблица фото из полей City, Foto для всех городов наполняется так:
Питер 3.jpg
Москва 1.jpg
Москва 2.jpg
Москва 4.jpg
Киев 5.jpg
Киев 6.jpg

Мне нужно вытащить:
Москва 3
Киев 2
Питер 1


Таблица memory из полей City, memory для всех городов наполняется так:
Питер "инфа на город"
Москва "очень много инфы на город"
Москва "очень много инфы на город"
Москва "очень много инфы на город"
Киев "много инфы на город"
Киев "много инфы на город"


Мне нужно вытащить:
Москва 55 байт
Киев 21 байт
Питер 7 байт

  Ответить  
 
 автор: Trianon   (10.08.2008 в 23:11)   письмо автору
 
   для: 1prom   (10.08.2008 в 20:30)
 

SELECT City,  COUNT(Foto) AS cnt FROM Foto GROUP BY City

SELECT City,  SUM(LENGTH(memory)) AS summem FROM Memory GROUP BY City

  Ответить  
 
 автор: 1prom   (12.08.2008 в 01:30)   письмо автору
 
   для: Trianon   (10.08.2008 в 23:11)
 

Есть некие трудности значения нужно отсортировать добавляю

ORDER BY COUNT(Namef) ASC - не работает.

И еще, скажите, пожалуйста, как написать

$n=$row['COUNT(Namef)']; ? чтобы узнать количество фото

и

$n2=$row['SUM(LENGTH(memory))']; ? чтобы узнать объем записей

  Ответить  
 
 автор: Trianon   (12.08.2008 в 01:39)   письмо автору
 
   для: 1prom   (12.08.2008 в 01:30)
 

> ORDER BY COUNT(Namef) ASC - не работает.
такого поля Вы не просили.


>И еще, скажите, пожалуйста, как написать
>$n=$row['COUNT(Namef)']; ? чтобы узнать количество фото
>$n2=$row['SUM(LENGTH(memory))']; ? чтобы узнать объем записей

нужно один раз написать print_r($row); чтобы посмотреть, что внутри.
После чего делать выводы.

  Ответить  
 
 автор: 1prom   (12.08.2008 в 14:37)   письмо автору
 
   для: Trianon   (12.08.2008 в 01:39)
 

Сори, у меня Namef - это поле Foto (от слов name foto)

  Ответить  
 
 автор: BinLaden   (12.08.2008 в 14:53)   письмо автору
 
   для: 1prom   (12.08.2008 в 14:37)
 

В примере Trianon указаны алиасы:

SELECT City,  COUNT(Foto) AS cnt FROM Foto GROUP BY City
SELECT City,  SUM(LENGTH(memory)) AS summem FROM Memory GROUP BY City


По ним и нужно сортировать:

SELECT City,  COUNT(Foto) AS cnt FROM Foto GROUP BY City ORDER BY `cnt`
SELECT City,  SUM(LENGTH(memory)) AS summem FROM Memory GROUP BY City ORDER BY `summem`

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования