tipos subconsultas subconsulta resueltos otro ejercicios ejemplos dentro consultas anidadas mysql sql subquery

mysql - subconsultas - Contando filas de una subconsulta



subconsultas sql ejercicios resueltos (2)

¿Cómo podría contar filas de una consulta SELECT como un valor? Como

SELECT FUCNTIONIMLOOKINGFOR(SELECT * FROM anothertable) AS count FROM table;

De modo que ese recuento es un número entero de cuántas filas devuelve la subconsulta SELECT * FROM anothertable .

EDITAR

SELECT p.PostPID, p.PostUID, p.PostText, p.PostTime, u.UserUID, u.UserName, u.UserImage, u.UserRep, ( SELECT COUNT(f.FlagTime) FROM Flags as f JOIN Posts as p ON p.PostPID = f.FlagPID ) as PostFlags FROM Posts AS p JOIN Users AS u ON p.PostUID = u.UserUID ORDER BY PostTime DESC LIMIT 0, 30


Puedes decir

SELECT COUNT(*) FROM anothertable

que devolverá un valor numérico, que puede utilizar en otra consulta, como en la lista de selección de otra consulta, o como condición en otra consulta.

SELECT someVariable FROM table WHERE (SELECT COUNT(*) FROM anotherTable) > 5

O

SELECT someVariable, (SELECT COUNT(*) FROM anotherTable) as count FROM table


SELECT ( SELECT COUNT(id) FROM aTable ) as count FROM table

Supongo que su ejemplo es una versión truncada de su consulta real, por lo que quizás debería publicar lo que está buscando para obtener una consulta, posiblemente, más óptima.

EDITAR

Trabajando directamente desde mi cerebro, algo como esto debería ser más óptimo.

SELECT p.PostPID, p.PostUID, p.PostText, p.PostTime, u.UserUID, u.UserName, u.UserImage, u.UserRep, COUNT(v.FlagTime) as postFlags FROM Flags as f JOIN Posts as p ON p.PostPID = f.FlagPID JOIN Users AS u ON p.PostUID = u.UserUID LIMIT 0, 30 GROUP BY p.PostPID ORDER BY PostTime DESC