2014-05-10 10 views
0

Comment écrire ceci 2 SELECT sur une ligne. J'ai besoin de 2 requêtes. La première requête est la suivante:Combiner 2 MySQL SELECT en une ligne

SELECT (COUNT(*) + 1) AS rank FROM `rang_info` WHERE `player_kills` > (SELECT `player_kills` FROM `rang_info` WHERE `player_name` = '%s') 

La deuxième requête est la suivante:

SELECT COUNT(*) FROM `rang_info` 

Répondre

1

Utilisez UNION. Si le travail:

SELECT (COUNT(*) + 1) AS rank FROM `rang_info` WHERE `player_kills` > (SELECT `player_kills` FROM `rang_info` WHERE `player_name` = '%s') 
UNION 
SELECT COUNT(*) FROM `rang_info` 
0

Si vous voulez une seule ligne, alors quelque chose comme ci-dessous devrait fonctionner

SELECT SUM(rank) AS rank, SUM(total) AS total 
FROM 
(SELECT (COUNT(*) + 1) AS rank, 0 AS total FROM `rang_info` 
WHERE `player_kills` > (SELECT `player_kills` FROM `rang_info` WHERE `player_name` = '%s') 
UNION 
SELECT 0 AS rank, COUNT(*) AS total FROM `rang_info`) AS temptable 
Questions connexes