Автор Тема: выбор разных записей  (Прочитано 4240 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
выбор разных записей
« : 23 Марта 2006, 08:01:46 »
условия: есть таблица, столбцами которой являются:
idheadtextsource_id
нужно вывести 3 записи, в которых значения столбца source_id различны

база Interbase, но думаю можно посмотреть примеры и для других СУБД
Пространные размышления об ИТ и все что вокруг

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
выбор разных записей
« Ответ #1 : 23 Марта 2006, 09:09:36 »
Greg
Mysql:
SELECT DISTINCT source_id, id, head, text
FROM sometbl
LIMIT 3

вот еще:
SELECT id, head, text, source_id
FROM sometbl
GROUP BY source_id
LIMIT 3
« Последнее редактирование: 23 Марта 2006, 09:19:52 от for_i_0 »
[off]Безработный[/off]

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
выбор разных записей
« Ответ #2 : 23 Марта 2006, 09:19:49 »
for_i_0
да, спасибо, чего-то не сразу дошёл...

теперь такой вопрос, можно ли выудить из таблицы случайные 3 записи?
как вариант рассматривают генерить PHP слуайные ID и по ним уже искать в базе... но полученные ID могут и не существовать (запись удалена и т.д.)

лучше как нибуть бы запросом
Пространные размышления об ИТ и все что вокруг

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
выбор разных записей
« Ответ #3 : 23 Марта 2006, 09:24:06 »
Greg
пожалуй:
SELECT * FROM table ORDER BY rand() LIMIT 3
« Последнее редактирование: 23 Марта 2006, 09:36:21 от for_i_0 »
[off]Безработный[/off]

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
выбор разных записей
« Ответ #4 : 23 Марта 2006, 09:44:53 »
for_i_0
м-м-м... в Interbase никак не катит
чтож будем извращаться
Пространные размышления об ИТ и все что вокруг

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
выбор разных записей
« Ответ #5 : 23 Марта 2006, 10:00:35 »
Greg
погоди, успеешь... а так ?
SELECT  * , id *0 + rand(  )  AS chanse
FROM  `table`
ORDER  BY chance
LIMIT 3
[off]Безработный[/off]

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
выбор разных записей
« Ответ #6 : 23 Марта 2006, 10:03:24 »
for_i_0
функция rand вообще в Interbase не определена, похоже, это только в MySQL она есть
Пространные размышления об ИТ и все что вокруг

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
выбор разных записей
« Ответ #7 : 23 Марта 2006, 10:03:35 »
Greg
и все таки предется поизвращатся :) в обеих случаях используется rand(). Насколько я понял Interbase не поддерживает rand().
[off]Безработный[/off]

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28