// Adds dimensions UUID, Author and Topic into GA4
Monday, August 3, 2026
28.9 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

‘My boss tells me what to click and type’: Employee frustrated by boss who hovers around his workstation all day

SINGAPORE: An employee has claimed that his boss’s constant micromanaging has become so excessive that it now feels like an invasion of his personal space, with the manager allegedly hovering aroun...

‘My future partner must earn 5 digits’: Man allegedly rejected over salary, height, and uni

SINGAPORE: A Singaporean man was allegedly rejected after a woman he met on a dating app decided he was too short, earned too little, and had not studied at the "right" university. His friend sha...

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