Мне нужно сделать строку данных, которая содержит наибольшее количество появлений, используя 2 таблицы - PullRequest
0 голосов
/ 07 ноября 2018

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

Например:

Name   Grade     Gender
--------------------------
Jeff   100       Male
Daniel 100       Male
Linda   80       Female
Jeff    90       Male

Запрос предоставит мне имя и фамилию - Джефф Грэйд - 100 Пол - Мужской

На данный момент у меня есть следующий запрос:

SELECT
    PhonesTBL.OperatingSystem, PhonesTBL.Memory, 
    PhonesTBL.BatterySize, PhonesTBL.CameraQuality, PhonesTBL.Processor, 
    PhonesTBL.ScreenSize, PhonesTBL.PhoneType 
FROM  
    PhonesTBL 
INNER JOIN 
    HistoryTBL ON PhonesTBL.PhoneID = HistoryTBL.PhoneID 
WHERE 
    UserID = Uid 
GROUP BY
    OperatingSystem, Memory, BatterySize, CameraQuality, Processor, 
    ScreenSize, PhoneType 
ORDER BY
    COUNT(*) DESC

но он возвращает только значения, которые я хочу.

Ищу помощи, Охад

1 Ответ

0 голосов
/ 07 ноября 2018

Ваш вопрос на самом деле не имеет смысла. У вас есть примеры данных, которые не имеют никакого отношения к вашему запросу. Позвольте мне использовать пример данных.

В MS Access это проще всего сделать, поместив режим (статистическое имя для того, что вы хотите) в отдельные строки:

(select top (1) "name" as which, name
 from t
 group by name
 order by count(*) desc, name
) union all
(select top (1) "grade" as which, grade
 from t
 group by grade
 order by count(*) desc, grade
) union all
(select top (1) "gender" as which, gender
 from t
 group by gender
 order by count(*) desc, gender
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...