Как я могу получить общее поле в таблице с идентификатором - PullRequest
0 голосов
/ 28 мая 2018

Мне нужна команда sql, которая выполняет следующие действия: Например,

PhonesTBL   HistoryTBL
---------   --------
PhoneID     UserID
PhoneType   PhoneID

PhonesTBL   HistoryTBL
---------   ----------
3,Samsung   100,3
4,Samsung   100,4
5,Apple     100,5

Мне нужна команда sql, которая дает мне наиболее распространенный PhoneType по любому PhoneID в моих таблицах.В моем примере запрос перезапустит Samsung для userID 100. Потому что samsung является наиболее распространенным типом.Я использую доступ и C #, но мне нужен запрос SQL для работы.Ищу помощи, Охад.

Ответы [ 3 ]

0 голосов
/ 28 мая 2018

Пожалуйста, попробуйте этот запрос.

select distinct(h.userid), p.PhoneType
from PhonesTBL p
join HistoryTBL h on h.PhoneID = p.PhoneID
where p.phonetype in (select phonetype 
                    from PhonesTBL 
                    group by phonetype
                    having count(phonetype) =  (SELECT MAX(c) FROM
                                              (SELECT COUNT(phonetype) AS c
                                               FROM PhonesTBL
                                               GROUP BY phonetype) AS TBL1))
0 голосов
/ 31 мая 2018
"select PhonesTBL.PhoneType
 from PhonesTBL 
 Inner join HistoryTBL on PhonesTBL.PhoneID=HistoryTBL.PhoneID
 where UserID={0}
 group by PhoneType
 order by count(*) desc
"

Сделал это, работал для меня.

0 голосов
/ 28 мая 2018
SELECT MAX(sum)  
FROM (SELECT COUNT(PhoneType) as sum 
      FROM PhonesTBL  
      GROUP BY Quantity)  
AS result;

Пожалуйста, попробуйте запрос выше.Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...