1

Тема: Допоможіть написати правильний запит на вибірку

Є база з двома таблицями:
http://imageshack.com/a/img661/9517/9lld2i.jpg

Потрібно зробити таке:
2. Вкажіть команду SQL результатом якої була б таблиця: перелік типів книжок та кількість авторів які писали книжки даного типу.

Distinct з count в одних дужках не працюють а по іншому не знаю як. Допоможіть будь-ласка хто в курсі як це зробити.

2

Re: Допоможіть написати правильний запит на вибірку

COUNT повертає число, а не таблицю. Вам треба GROUP BY і HAVING.

3

Re: Допоможіть написати правильний запит на вибірку

quez написав:

COUNT повертає число, а не таблицю. Вам треба GROUP BY і HAVING.

а до чого застосувати HAVING?

4

Re: Допоможіть написати правильний запит на вибірку

crack.design написав:
quez написав:

COUNT повертає число, а не таблицю. Вам треба GROUP BY і HAVING.

а до чого застосувати HAVING?

В даному випадку ні до чого.

5 Востаннє редагувалося crack.design (03.11.2014 22:19:59)

Re: Допоможіть написати правильний запит на вибірку

Складнувато для новачка (
Якщо вам не складно - підкажіть варіант вирішення задачі.

6

Re: Допоможіть написати правильний запит на вибірку

crack.design написав:

Складнувато для новачка (
Якщо вам не складно - підкажіть варіант вирішення задачі.

Нічого складного насправді. Ви ж здогадались, що HAVING не треба. З третьої спроби має все вийти.

7

Re: Допоможіть написати правильний запит на вибірку

quez написав:
crack.design написав:

Складнувато для новачка (
Якщо вам не складно - підкажіть варіант вирішення задачі.

Нічого складного насправді. Ви ж здогадались, що HAVING не треба. З третьої спроби має все вийти.

Та я і сам думаю шо відповідь десь на поверхні, але максимум на шо спромігся - це просто витягнути  кількість повторюваних авторів

SELECT TYPE, COUNT(AUTHOR_ID) AS NumberOfAuthors FROM BOOK GROUP BY TYPE;

А як зробити їх неповторюваними не знаю.

8

Re: Допоможіть написати правильний запит на вибірку

"Якось так"
SELECT DISTINCT(b.type), COUNT( DISTINCT(b.author_id) )
  FROM BOOK b
 GROUP BY b.type;

9

Re: Допоможіть написати правильний запит на вибірку

Arete написав:
"Якось так"
SELECT DISTINCT(b.type), COUNT( DISTINCT(b.author_id) )
  FROM BOOK b
 GROUP BY b.type;

COUNT з DISTINCT не хоче працювати в одних дужках - так я вже пробував, але на жаль...
Крім того при спробі виконати цей код отримую помилку про невизначену функцію DISTINCT.

10

Re: Допоможіть написати правильний запит на вибірку

crack.design написав:
Arete написав:
"Якось так"
SELECT DISTINCT(b.type), COUNT( DISTINCT(b.author_id) )
  FROM BOOK b
 GROUP BY b.type;

COUNT з DISTINCT не хоче працювати в одних дужках - так я вже пробував, але на жаль...
Крім того при спробі виконати цей код отримую помилку про невизначену функцію DISTINCT.

Дивно, я тут перевіряв - працює.
http://www.compileonline.com/execute_sql_online.php

Подякували: Анатолій1

11

Re: Допоможіть написати правильний запит на вибірку

Arete написав:
crack.design написав:
Arete написав:
"Якось так"
SELECT DISTINCT(b.type), COUNT( DISTINCT(b.author_id) )
  FROM BOOK b
 GROUP BY b.type;

COUNT з DISTINCT не хоче працювати в одних дужках - так я вже пробував, але на жаль...
Крім того при спробі виконати цей код отримую помилку про невизначену функцію DISTINCT.

Дивно, я тут перевіряв - працює.
http://www.compileonline.com/execute_sql_online.php

Може Access якісь свої заморочки має.