2016-05-12 6 views
0

enter image description hereWie Höhe Punktzahl aus einer Tabelle

SELECT * FROM `result` Where R_TestID=16 AND R_IsCorrect='yes'. 

Eigentlich ist diese Ich möchte zählen Wo clasue und auch mehr wiederholt R_UserID zählen. Bündel Dank

+0

Sind Sie wollen Zeilen zählen? SELECT count (*) FROM ... – rleir

+1

Das erwartete Ergebnis wird mehr als hilfreich sein. – mitkosoft

+0

Ich möchte R_UserID zählen und sie geben mir 2 in einem Ergebnis – Coder

Antwort

1
SELECT count(distinct(R_UserID)) FROM `result` Where R_TestID=16 AND R_IsCorrect='yes'. 
+0

Du bist ein genial :) Ich will das einfachste Abfrage. stört es nicht @scais edge – Coder

2

Sie diese Gruppe

durch, um ab und zu begrenzen 1 tun können
select count(*) as my_val from `result` Where R_TestID=16 AND R_IsCorrect='yes' 
group by R_UserID 
order by my_val desc 
limit 1 
+0

'von Where'? verpasste den Tabellennamen ;-) –

+0

@ Fred-ii- danke ... ich lache – scaisEdge

+0

'wähle count (*) als my_val aus dem Ergebnis Wobei R_TestID = 16 AND R_IsCorrect = 'yes'' - nicht wie bei deinem Edit; -) –

1
CREATE TABLE IF NOT EXISTS `result` (
    `R_UserID` int(10) NOT NULL, 
    `R_TestID` int(10) NOT NULL, 
    `R_IsCorrect` varchar(10) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 


INSERT INTO `result` (`R_UserID`, `R_TestID`, `R_IsCorrect`) VALUES 
(1, 16, 'yes'), 
(1, 16, 'yes'), 
(2, 16, 'yes'), 
(2, 16, 'yes'), 
(2, 16, 'yes'), 
(2, 16, 'yes'), 
(2, 16, 'yes'), 
(2, 16, 'yes'); 


SELECT R_UserID, COUNT(*) AS user_count 
FROM `result` 
WHERE R_TestID=16 AND R_IsCorrect='yes' 
GROUP BY R_UserID 
ORDER BY user_count DESC; 

Ausgang

R_UserID user_count 
2   6 
1   2 
+0

Ja Das ist auch für mich erforderlich. Hier ist alles Experte :) – Coder

+0

Sie können tun Sie werden alles auf dieser Welt tun, aber wenn Sie auswendig probieren :) –

Verwandte Themen