Автор Тема: как сделать такой запрос (ы)?  (Прочитано 3362 раз)

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

Оффлайн yennifer

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как сделать такой запрос (ы)?
« : 19 Сентября 2002, 16:06:47 »
помогите плз разобраться - у меня уже все идеи кончились :(

вообщем есть таблица, из нее нужно выбрать строки так, чтобы в текстовом поле name полученной таблицы не было значений, которые бы начинались на одну и ту же букву.
ну и сортировались по алфавиту, но это просто.

главное - как сделать такую выборку???

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
как сделать такой запрос (ы)?
« Ответ #1 : 19 Сентября 2002, 16:14:40 »
SELECT DISTINCT(SUBSTRING(name, 1, 1)) as letter FROM your_table ORDER BY letter
« Последнее редактирование: 19 Сентября 2002, 16:19:50 от Alexandr »
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
как сделать такой запрос (ы)?
« Ответ #2 : 19 Сентября 2002, 16:23:28 »
Погодь....
Вродь не то.
Может так надо:
Если в базе лежат 2 или более слов, начинающихся на 1 букву, то их печатать не надо, иначе печетаем.
Если задача такова, то так
SELECT count(*) as l_count, SUBSTRING(name, 1, 1) as letter FROM your_table GROUP BY letter  HAVING l_count<2 ORDER BY letter

Как видишь - элементарно.... :-)
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн yennifer

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как сделать такой запрос (ы)?
« Ответ #3 : 19 Сентября 2002, 16:25:17 »
не, SELECT DISTINCT(SUBSTRING(name, 1, 1)) as letter FROM your_table ORDER BY letter очень хорошо подошел :)
огромное спасибо :)

Оффлайн yennifer

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как сделать такой запрос (ы)?
« Ответ #4 : 19 Сентября 2002, 16:31:12 »
кстати еще вопрос, а почему обратный запрос работать не хочет?

SELECT * FROM your_table where DISTInCT(SUBSTRING(name, 1, 1))=\'$letter\' ???

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
как сделать такой запрос (ы)?
« Ответ #5 : 19 Сентября 2002, 17:05:12 »
Цитировать
а почему обратный запрос работать не хочет

А чё сделать-то(выбрать) надо?
....
Так юзни
SELECT * FROM your_table where SUBSTRING(name, 1, 1)=\'$letter\'
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн rembo

  • Больной
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.v4.ru
как сделать такой запрос (ы)?
« Ответ #6 : 20 Сентября 2002, 05:32:40 »
Цитировать
обратный запрос работать не хочет

Потому что DISTINCT используется только после SELECT и до FROM
программист должен все сделать так, чтоб потом ничего не делать

 

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