// Adds dimensions UUID, Author and Topic into GA4
Monday, June 22, 2026
27.7 C
Singapore

GE 2020: The main results

People’s Action Party (PAP)

In the General Election 2020, the People’s Action Party (PAP) has once again come out on top, garnering 83 out of a total 93 seats.

Receiving a total of 1,524,781 votes, Secretary-General Lee Hsien Loong and his party garnered a total of 61.24 per cent of votes in contested seats. This number has gone down from the election in 2015.

Workers’ Party

Out of a total 21 seats contested, the Workers’ Party, led by Chief Pritam Singh won 10 seats in Parliament. They garnered 279,245 votes or 50.49 per cent of votes in contested seats. This means an increase of about 10 percentage points from the 2015 elections.

Progress Singapore Party (PSP)

Dr Tan Cheng Bock’s PSP contested 24 seats but did not garner any. However, the party received a total of 253,459 votes or 40.85 per cent of votes in contested seats.

Singapore Democratic Party (SDP)

The SDP, led by Dr Chee Soon Juan and Chairman Paul Tambyah contested a total 11 seats but did not win any seats. They received a total of 110,827 votes or 37.04 per cent of votes in contested seats.

- Advertisement -

Hot this week

Singaporeans react after tourist says locals seem to ‘work a few hours and then sit around all day’

SINGAPORE: A tourist who visited Singapore for about two weeks last year said online that he wanted to move here after sharing his observations of what seemed like a relaxed work culture in the cit...

SG worker says office ‘queen bee’ keeps excluding her from group conversations, asks locals: ‘How should I approach this?’

SINGAPORE: One Singaporean woman says fitting into her workplace has been tougher than expected, claiming that the office “queen bee” has been subtly shutting her out of group conversations. In a...

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks