2014-02-11 5 views
-1

В настоящее время я разрабатываю систему голосования. Я написал запрос, чтобы получить все голоса, но он отображает только голосование, а не самый высокий голос. Что я должен добавить в свой запрос, чтобы выполнить то, что мне нужно. Вот код.Получение наивысшего значения с использованием SQL Server

SELECT DISTINCT 
    b.idnumber, b.candidate_name, semester, 
    (SELECT COUNT(rslt_ccandidateid) FROM rslt_mstr 
    WHERE rslt_ccandidateid = idnumber) AS 'numberOfVotes', 
    b.position, b.program, b.position_categ, b.party_name, 
    b.school, b.yearLevel, a.hierarchy   
FROM 
    cddt_mstr b 
INNER JOIN 
    Position_mstr a ON a.scposition_name = b.position 
WHERE 
    b.POSITION_CATEG = 'SUPREME COUNCIL CANDIDATES' 
    AND semester = '2ND SEMESTER A.Y. 2012-2013' 
ORDER BY 
    a.hierarchy, 'numberOfVotes' DESC 
+1

Можете ли вы предоставить образцы данных, желаемые результаты и то, что производит наш запрос? –

+0

Я просто хочу отобразить топ-геттер в каждой позиции. С запросом выше, он просто отображает всех кандидатов с их голосом ORDER по их соответствующей позиции – Nozella

ответ

0

Возможно, что-то вроде нижнего. Я предполагаю, что rslt_ccandidateid НЕ имеет значения для голосования, есть другой столбец, который я называю [vote_column_name], который содержит значение для голосования. Я также предполагаю, что значение для голосования является целым столбцом. Наконец, я предполагаю, что вы не хотите, чтобы сумма всех голосов была самой высокой из всех голосов.

SELECT DISTINCT b.idnumber, b.candidate_name, semester, (
     SELECT MAX([vote_column_name]) 
     FROM rslt_mstr 
     WHERE rslt_ccandidateid = idnumber 
     GROUP BY rslt_ccandidateid 
     ) AS 'numberOfVotes', b.position, b.program, b.position_categ, b.party_name, b.school, b.yearLevel, a.hierarchy 
FROM cddt_mstr b 
INNER JOIN Position_mstr a ON a.scposition_name = b.position 
WHERE b.POSITION_CATEG = 'SUPREME COUNCIL CANDIDATES' 
    AND semester = '2ND SEMESTER A.Y. 2012-2013' 
ORDER BY a.hierarchy, 'numberOfVotes' DESC 
+0

Он не работает. Я получаю голос через эти коды »(выберите count (rslt_ccandidateid) из rslt_mstr, где rslt_ccandidateid = idnumber) как« numberOfVotes », который включен в код выше – Nozella

Смежные вопросы