Php mysql查询选择计数
我必须使用计数和分组,我有点困惑 我有两张桌子:Php mysql查询选择计数,php,mysql,Php,Mysql,我必须使用计数和分组,我有点困惑 我有两张桌子: 用户 id_user | firstname | lastname | genre | logo_src 目前,我的查询如下所示: 选择us.user\u id、us.user\u跟踪\u id、us.notification\u view、u.id\u user、, u、 名字,u.lastname,u.logo\u src,u.genre,us.id,us.date 来自用户u,用户u跟踪我们 其中us.user_id=“.$”会话['
id_user | firstname | lastname | genre | logo_src用户
选择us.user\u id、us.user\u跟踪\u id、us.notification\u view、u.id\u user、,
u、 名字,u.lastname,u.logo\u src,u.genre,us.id,us.date
来自用户u,用户u跟踪我们
其中us.user_id=“.$”会话['user']['id_user']
和us.notification_viewed=0
和us.user\u stapping\u id=u.id\u user
由我们订购。日期描述
它返回:
John | Jonson | image1.png | male
John | Jonson | image1.png |男
现在,我想在
user\u stacking.user\u ID
和user\u stacking.user\u stacking\u ID
字段中接收包含相同ID的所有行的计数。首先,我希望在这条语句之前的某个地方您正在检查/整理$\u seision['user']['ID\u user']值,否则您将使自己极易受到注射攻击
为了回答您的问题,您可以通过这样更改查询来检索这两个值(可能不是最有效的查询)
选择count(*)作为来自用户u、跟踪我们的用户的计数,其中u.user\u id=us.user\u跟踪\u id
(很抱歉输入错误,这是从电话发送的)“现在我想在user\u stapping.user\u ID和user\u stapping.user\u stapping\u ID字段中接收包含相同ID的所有行的计数。”
我想你要找的是一个相等联接/内部联接查询
select count(*) from users u, user_stalking us where us.user_id = ".$_SESSION['user']['id_user']."
AND u.id_user=us.user_stalking_id
$\u会话
不需要消毒(尽管如果它是从客户端提供的值分配的,则应该是这样的值),因为它只能从应用程序中写入。什么是用户跟踪,听起来很恐怖?
SELECT us.user_id, us.user_stalking_id, us.notification_viewed, u.id_user, u.firstname, u.lastname, u.logo_src, u.genre, us.id, us.date,
(SELECT COUNT(s.user_id) FROM user_stalking s WHERE s.user_id = u.user_id) AS stalking_count,
(SELECT COUNT(s2.user_id) FROM user_stalking s2 WHERE s2.user_stalking_id = u.user_id) AS being_stalked_count
FROM users u, user_stalking us
WHERE us.user_id = ".$_SESSION['user']['id_user']."
AND us.notification_viewed = 0
AND us.user_stalking_id = u.id_user ORDER BY us.date DESC
SELECT COUNT(us.user_id)
FROM users AS u
JOIN user_stalking AS us ON (us.user_stalking_id = u.id_user)
WHERE us.user_id = ".(int)$_SESSION['user']['id_user']."
AND us.notification_viewed = 0
GROUP BY us.user_id
ORDER BY us.date DESC
select count(*) from users u, user_stalking us where us.user_id = ".$_SESSION['user']['id_user']."
AND u.id_user=us.user_stalking_id